PHP连接MysqL数据库
使用 MysqLi_connect()函数建立与MysqL服务器的连接。
使用 MysqLi_select_db()函数选择MysqL数据库服务器的数据库。
3.执行 sql 语句
在选择数据库中使用 MysqLi_query()函数执行 sql语句,对数据的操作方式主要包括 5种方式,下面我们分别进行介绍。
4.关闭结果集
数据库操作完成后,需要关闭结果集,以释放系统资源,使用MysqLi_free_result(
$result
);
每使用一次 MysqLi_connect()或者MysqLi_query()函数,都会消耗系统资源,如果用户连接超过一定数量时,就会造成系统性能下降,甚至是死机,为了避免这种现象的发生,在完成数据库的操作后,应该使用 MysqLi_close()函数关闭与MysqL服务器的连接,以节省系统资源。
技巧:
如果在多个网页中都要频繁进行数据库访问,那么可以建立与数据库服务器的持续连接来提高效率,因为每次与数据库服务器的连接需要较长的时间和交大的资源开销,持续的连接相对来说会更有效率,建立持续连接的方法就是在数据库间接时,调用函数 MysqLi_pconnect()代替MysqLi_connect函数。建立的持续连接在本程序结束时,不需要调用 MysqLi_colse()来关闭与数据库服务器的连接。下次程序在此执行 MysqLi_pconnect()函数时,系统自动直接返回已经建立的持续连接ID号,而不再去真的连接数据库。
PHP 中与数据库的连接是非持久连接,系统会自动回收,一般不用设置关闭,但是如果一次性访问的结果集比较大,或者网站访问量比较多,那么最好使用 MysqLi_close()函数手动进行释放。
使用MysqLi_connect()函数连接数据库
//创建连接 $conn = new MysqLi('localhost','root','123456','test'); 检测连接 if($conn->connect_error){ die('连接失败:'.connect_error); }
使用MysqLi_select_db()函数选择数据库文件
下面的实例使用了 MysqL_select_db()函数连接数据库,具体实例代码如下:
$link = MysqLi_connect('localhost','123456') or die('不能连接到数据库').MysqLi_error(); MysqLi_select_db($link,1)">$conn){ echo '数据库连接成功'; }
上面的代码$conn = MysqLi_select_db($link,'test');可以使用下面的代码替代:
MysqLi_query(MysqLi_query()函数执行sql语句<?PHP (); 添加会员记录 $sql = "INSERT INTO login(username,password,confirm,email) VALUES ('cyy2','965794175@qq.com')"; if($conn,$sql)){ echo '插入成功'; }else{ echo 'error:'.$sql.'<br>'.MysqLi_error(); } 修改会员记录 $sql = "UPDATE login SET username = 'cyy' where id = '3'"echo '更新成功'删除会员记录 $sql = "DELETE FROM login WHERE id = '4' "echo '删除成功'查询会员记录 $sql = "SELECT * FROM login"echo '查询成功'显示表结构 $sql = "DESC login"echo '显示成功'); }
使用MysqLi_fetch_array()获取数组结果集中的信息
MysqLi_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。
注意:
MysqLi_fetch_array() 函数返回的字段名区分大小写。
具体开发步骤如下:
1.创建一个PHP动态页面,命名index.PHP,在index.PHP中添加一个表单,一个文本框以及一个提交按钮,具体代码如下:
<html> <body> <!--上传文件表单--> <form method="post" action="" name = form1> <table> <tr> <td width="605" height="51" bgcolor="#CC99FF"> <p align="center">请输入查询内容 <input type="text" name="username" id="username" size="25"> <input type="submit" name="Submit" value="查询"> </p> </td> </tr> </table> </form> </body> </html>页面如下:
<?PHP header("Content-Type:text/html; charset=utf-8"); 连接数据库 MysqLi_connect("localhost","root","123456","test")or die("连接数据库失败".()); 设置编码,防止发生乱码 ?>
3.使用 if 条件语句判断用户是否单击“查询”按钮,如果是那么使用POST 方法接受传递过来的信息,执行sql语句,该查询语句主要用来实现信息的模糊查询,查询结果被赋予变量$sql。然后从数组结果集中获取信息,具体代码如下:
模糊查询 $sql = ); $info = MysqLi_fetch_array($_POST['submit'] == '查询'){ $username = $_POST['username']; trim($username)."%' "); ); }
4.使用 if条件语句对结果集变量$info进行判断,如果该值为假,那么就使用 echo 语句输出检索的信息不存在,具体代码如下:
判断结果 if(!$info){ echo "<p align='center' style='color: #FF0000;font-size: 12px'>对不起,查询的信息不存在</p>"; }
5.使用 do...while 循环语句以表格形式输出数组结果集$info[]中的信息,一字段的名称为索引,使用 echo 语句输出数组$info[]的信息,具体代码如下:
循环输出结果 do { do...while 循环 ?> <table> <tr align="left" bgcolor="#FFFFFF"> <td height="20" align="center"><?PHP echo $info["id"] ?></td> <td height="20" align="center"><?PHP $info["username"] ?></td> <td height="20" align="center"><?PHP $info["password"] ?></td> <td height="20" align="center"><?PHP $info["confirm"] ?></td> <td height="20" align="center"><?PHP $info["email"] ?></td> </tr> </table> <?PHP }while($sql));
输出结果如下:
使用MysqLi_fetch_row()函数逐行获取结果集中的每条记录
<html> <body> <!--上传文件表单--> <form method="post" action="" name = form1> <table> <tr> <td width="605" height="51" bgcolor="#CC99FF"> <p align="center">nbsp; <input type="submit" name="submit" value="查询"> </p> </td> </tr> </table> </form> <?error_reporting(0设置编码,防止发生乱码 //模糊查询 MysqLi_fetch_row(; } $info[0] ?></td> <td height="20" align="center"><?PHP $info[1] ?></td> <td height="20" align="center"><?PHP $info[2] ?></td> <td height="20" align="center"><?PHP $info[3] ?></td> <td height="20" align="center"><?PHP $info[4] ?></td> </tr> </table> <?)); ?> </body> </html>