PHP MySql数据库访问

计应134 凌豪

1.MySql数据库的连接

要操作MySql数据库,首先必须与MySQl数据库建立连接,连接MySQL服务器的语句如下:

<?php

$link = mysql_connect("localhost", "root", "root") or die("不能连接到数据库服务器!

可能是数据库服务器没有启动,或者用户名密码有误!".mysql_error()); //连接Mysql服务器

if($link){

echo "数据源连接成功!";

}

?>

2.选择MySQL数据库

在连接到MySQl数据库服务器之后,使用mysql_select_db()函数来选择数据库,其实例代码如下:

<?php

$link = mysql_connect("localhost", "root", "root") or die("不能连接到数据库服务器!可能是数据库服务器没有启动,或者用户名密码有误!".mysql_error()); //连接Mysql服务器

$db_selected=mysql_select_db("db_database18",$link);

//$db_selected=mysql_query("use db_database18",$link);

if($db_selected){

echo "数据库选择成功!";

}

?>

3.使用mysql_query()函数执行SQL语句

要对数据库中的表进行操作,通常使用mysql_query()函数执行SQL语句,其基本语法格式如下:

mysql_query(string query[,resource link_indentifier])

4.向数据库发送查询

<?php

// 实例化mysqli类

$mysqliConn = new mysqli();

// 连接服务器,并选择一个数据库

// 错误的密码

$mysqliConn->connect('127.0.0.1', 'root', 'root', 'db_test');

if ($mysqliConn->connect_error)

{

printf("Unable to connect to the database:%s", $mysqliConn->connect_error);

exit();

}

// 与数据库交互

$query = 'select firstname, lastname, email from tb_test;';

// 发送查询给MySQL

$result = $mysqliConn->query($query);

// 迭代处理结果集

while (list($firstname, $lastname, $email) = $result->fetch_row())

{

printf("%s %s's email:%s<br/>", $firstname, $lastname, $email);

}

// 关闭连接

$mysqliConn->close();

?>

5.插入、更新和删除数据

插入、更新和删除使用的是insert、update和delete查询完成的,其做法实际上与select查询相同。示例代码如下:

<?php

// 实例化mysqli类

$mysqliConn = new mysqli();

// 连接服务器,并选择一个数据库

// 错误的密码

$mysqliConn->connect('127.0.0.1', 'root', 'root', 'db_test');

if ($mysqliConn->connect_error)

{

printf("Unable to connect to the database:%s", $mysqliConn->connect_error);

exit();

}

// 与数据库交互

$query = 'select firstname, lastname, email from tb_test;';

// 发送查询给MySQL

$result = $mysqliConn->query($query);

// 迭代处理结果集

while (list($firstname, $lastname, $email) = $result->fetch_row())

{

printf("%s %s's email:%s<br/>", $firstname, $lastname, $email);

}

$query = "delete from tb_test where firstname = 'Yuan';";

$result = $mysqliConn->query($query);

// 告诉用户影响了多少行

printf("%d row(s) have been deleted.<br/>", $mysqliConn->affected_rows);

// 重新查询结果集

$query = 'select firstname, lastname, email from tb_test;';

// 发送查询给MySQL

$result = $mysqliConn->query($query);

// 迭代处理结果集

while (list($firstname, $lastname, $email) = $result->fetch_row())

{

printf("%s %s's email:%s<br/>", $firstname, $lastname, $email);

}

// 关闭连接

$mysqliConn->close();

?>

5.MySQL分页显示公告

有时候在查询一些数据时,为了更加方便的浏览查询出的信息内容,最好的方法就是通过分页来显示公告信息的内容

下面主要是使用select语句动态检索数据库中的公告信息,并通过分页技术完成对数据库中公告信息的分页输出,主要部分代码如下:

<?php

$conn=mysql_connect("localhost","root","root") or die("数据库服务器连接错误".mysql_error());

mysql_select_db("db_database18",$conn) or die("数据库访问错误".mysql_error());

mysql_query("set names gb2312");

/* $_GET[page]为当前页,如果$_GET[page]为空,则初始化为1 */

if ($_GET[page]==""){

$_GET[page]=1;}

if (is_numeric($_GET[page])){

$page_size=4; //每页显示4条记录

$query="select count(*) as total from tb_affiche order by id desc";

$result=mysql_query($query); //查询符合条件的记录总条数

$message_count=mysql_result($result,0,"total"); //要显示的总记录数

$page_count=ceil($message_count/$page_size); //根据记录总数除以每页显示的记录数求出所分的页数

$offset=($_GET[page]-1)*$page_size; //计算下一页从第几条数据开始循环

$sql=mysql_query("select * from tb_affiche order by id desc limit $offset, $page_size");

$row=mysql_fetch_object($sql);

if(!$row){

echo "<font color='red'>暂无公告信息!</font>";

}

do{

?>

<?php

}while($row=mysql_fetch_object($sql));

}

?>

</table>

<br>

<table width="550" cellspacing="0" cellpadding="0">

<tr>

<!-- 翻页条 -->

<td width="37%">&nbsp;&nbsp;页次:<?php echo $_GET[page];?>/<?php echo $page_count;?>页&nbsp;记录:

<?php echo $message_count;?> 条&nbsp; </td>

<td width="63%" align="right">

<?php

/* 如果当前页不是首页 */

if($_GET[page]!=1){

/* 显示“首页”超链接 */

echo "<a href=page_affiche.php?page=1>首页</a>&nbsp;";

/* 显示“上一页”超链接 */

echo "<a href=page_affiche.php?page=".($_GET[page]-1).">上一页</a>&nbsp;";

}

/* 如果当前页不是尾页 */

if($_GET[page]<$page_count){

/* 显示“下一页”超链接 */

echo "<a href=page_affiche.php?page=".($_GET[page]+1).">下一页</a>&nbsp;";

/* 显示“尾页”超链接 */

echo "<a href=page_affiche.php?page=".$page_count.">尾页</a>";

}

mysql_free_result($sql);

mysql_close($conn);

?>