1、第21章 PHP MySQL专用接口动态网页设计,21.1 概述,PHP访问MySQL数据库的步骤建立与MySQL数据库服务器的连接选择要访问的数据库执行SQL语句存储查询结果显示结果数据关闭MySQL数据库服务器的连接,2,21.2.PHP与MySQL的连结与关闭,非永久性连接: int mysql_connect(string hostname:port, string username,string password);非永久性连接关闭 int mysql_close(连接句柄);永久性连接:可以返回以前连接的ID;无须关闭; 首次建立的连接一直有效。 int mysql_pconnec
2、t(string hostname:port, string username,string password);,3,4,21.3 PHP对MySQL数据库操作,步骤执行SQL语句读取存储查询结果集显示、操作结果记录数据int mysql_query(string SQL查询字串,int 连接句柄);注释:SQL 语句对大小写不敏感。CREATE DATABASE 数据库名DROP DATABASE database_name,5,新建数据库,删除数据库,选中数据库,int mysql_db_query(数据库名,查询语句,连接句柄);对查询结果的存储的方式有两种:使用数组的方式使用类的方式
3、。,8,9,int mysql_list_dbs(连接句柄); 返回指定连接中的所有能用的数据库名称,查看数据库,21.4 PHP对MySQL数据表操作,用mysql_query() 函数CREATE TABLE table_name(column_name1 data_type,column_name2 data_type, column_name3 data_type,.)DROP TABLE table_nameSHOW COLUMNS FROM 表名查询数据表名mysql_list_tables()和mysql_tablename()。,10,创建表,显示表结构,mysql_selec
4、t_db(my_db, $con);$sql = SHOW COLUMNS FROM person1;$result=mysql_query($sql,$con);while($row = mysql_fetch_array($result)echo $row0. n; echo $row1.n; echo $row2. n; echo ; ,13,21.5 PHP对MySQL记录操作,添加记录INSERT INTO table_name VALUES (value1, value2,.)删除记录DELETE FROM table_name WHERE column_name = some_v
5、alue修改记录UPDATE table_name SET column_name = new_value WHERE column_name = some_value查询记录SELECT column_name(s) FROM table_name,14,添加记录,交互界面,$sql=INSERT INTO person (Name, Gender, Age)VALUES($_POSTName,$_POSTGender,$_POSTage);if (!mysql_query($sql,$con) die(Error: . mysql_error();echo 姓名: .$_POSTName.
6、;echo 性别: .$_POSTGender.;echo 年龄: .$_POSTage.;echo 1 record added;,浏览数据,SELECT column_name(s) FROM table_name对查询结果的存储的方式有两种:使用数组的方式和使用类的方式。数组存储格式: array mysql_fetch_array(结果集,结果类型);类存储格式: object mysql_fetch_object(结果集,结果类型);,5.存储查询结果数组实例,5.存储查询结果对象实例,5.存储查询结果,对查询结果的当前记录进行存储array mysql_fetch_row(int
7、结果);对查询结果中的某个具体的数据进行存储,int mysql_result(int 结果,int 记录序号, mixed 字段);对查询所获取的结果的总数量进行统计array mysql_num_rows (int 结果);释放查询结果所占用的内存 boolean mysql_free_result(int result);,5.存储查询结果,表格显示,echo 姓名性别年龄;while($row = mysql_fetch_array($result)echo ;echo .$rowName. ;echo .$rowGender. ;echo .$rowAge. ;echo ;echo
8、;,多页显示,/ 用URL 传递显示的页数if(isset($_GETpage)$page=$_GETpage;Else$page=1;if($page=1)echo ;echo ;echo ;echo ;echo next ;echo ;echo ;echo end page ; echo ;echo ;,$num=mysql_num_rows ($result);$pagenum=ceil($num/4);$offset=($page-1)*4;$query=select * from person2 limit $offset,4;$result=mysql_query($query,$
9、con);,查询记录,if(!$_POSTName)$q=Name.$_POSTName;if(!$_POSTGender)$q=Gender. $_POSTGender;if($_POSTage)$q=age.$_POSTage;$sql= select * from person2 where .$q;$result=mysql_query($sql,$con);,23.8 修改记录,while($row = mysql_fetch_array($result)echo ;echo .$rowName. ;echo .$rowGender. ;echo .$rowAge. ;/把记录中id
10、作为URL参数echo .修改. ;echo ;,30,$query=select * from person2 where id=.$_GETid;$result=mysql_query($query,$con);$row = mysql_fetch_array($result);?Name: ,$query=update person2 set name=.$_GETName., gender=.$_GETGender.,age=.$_GETage. where id=.$_GETnid.; $result=mysql_query($query,$con);If($result)echo
11、alert(修改成功);window.location.href=index.php;elseecho alert(修改失败);window.location.href=index.php;,删除记录,echo ;,for($i=0;$icount($_GETcheckbox);$i+)$query=delete from person2 where id=.$_GETcheckbox$i.; $result=mysql_query($query,$con);,错误代码、错误信息,34,第23章 小结,PHP对MySQL数据库的连结与关闭PHP新建与删除数据库PHP记录操作PHP字段操作,35,第23章 思考问题,end,23.2 在PHP中对MySQL数据库的连接有哪两种,其区别是什么?23.4 在PHP中对MySQL数据库查询结果的存储的方式有哪两种?其区别是什么?23.6 PHP获取MySQL错误信息的方法是什么?23.8 PHP对MySQL数据库的操作完成后,为什么要有关闭“连接”?,