《2022年PHP与数据库的连接 .pdf》由会员分享,可在线阅读,更多相关《2022年PHP与数据库的连接 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、PHP与数据库的连接下面详细分析PHP4中与 MySQL相关操作的函数(共32 个,开头都为mysql_):一、连接数据库服务器(database server)的函数(2 个):1mysql_connect()格式:int mysql_connect(string hostname:port,string username,string password);参数中的port参数表示数据库服务器的端口号,一般用它的默认端口号就可以了。如果不填任何参数,则默认的hostname 为 localhost,username 为 root,password 为空。函数执行成功,返回一个int 类型的连
2、接号(link_identifier),执行失败,返回false值。例子:那该如何屏蔽这些系统的错误提示并在失败后结束程序?在 MySQL中,允许在数据库函数之前加上 符号,屏蔽系统的错误提示,同时用die()函数给出更易理解的错误提示,然后die()函数将自动退出程序。上例可以改为:如 mysql_connect()执行失败,将显示 Unable to connect database server!后,退出程序。2mysql_pconnect()格式:int mysql_pconnect(string hostname:port,string username,string passwor
3、d);注意:此函数与(1)的 mysql_connect()基本相同,区别在于:当数据库操作结束之后,由1 的 mysql_connect()建立的连接将自动关闭,而2 的mysql_pconnect()建立的连接将继续存在,是一种稳固持久的连接。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 9 页 -在 2的 mysql_pconnect(),每次连接前,都会检查是否有使用同样的hostname,use,password的连接,如果有,则直接使用这个连接号。1的 mysql_connect()建立的连接可以用mysql_close()关闭,而2 的 mysql_pconnec
4、t()不能用 mysql_close()来关闭。二、关闭数据库连接函数(1 个):mysql_close()格式:int mysql_close(int link_identifier);关闭由 mysql_connect()函数建立的连接,执行成功,返回ture值,失败则返回false值。例子如下:注意:mysql_close()不能关闭由mysql_pconnect()函数建立的连接。三、选择数据库函数(1 个):mysql_select_db()格式:int mysql_select_db(string database name,int link_identifier);选择指定的da
5、tabase name,成功,返回1 个真值(True),失败,则返回1 个 False 值。例子 1:例子 2:四、SQL查询函数(2 个):名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 9 页 -1mysql_query()格式:int mysql_query(string sqlquery,int link_identifier);向服务器发一段标准SQL语句请求。如果失败,则返回一False 值。例子:注意:此函数一定要与mysql_select_db()函数配合使用,单独使用它就没有意义了!2mysql_db_query()格式:int mysql_db_query(
6、string database,string sqlquery,int link_identifier);在此函数中必须指定数据库名database 和 SQL语句 sqlquery,如失败则返回False。例子:注意:mysql_db_query()与 mysql_query()的区别就在于前者可以不用使用mysql_select_db()来选五、数据库记录操作函数(5 个):1mysql_fetch_array()格式:array mysql_fetch_array(int query);执行成功,返回1 个数组,该数组保存有下一条记录的值,如执行失败,则返回False 值。返回的数组既可
7、以用下标来表示,也可以用字段名来表示。例子:?php$connect=mysql_connect(localhost,root,why810707);mysql_select_db(mysql);$sql=select*from user;$query=mysql_query($sql,$connect);while($row=mysql_fetch_array($query)名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 9 页 -echo$rowHost.|.$rowUser.;mysql_close($connect);?注意:数组的下标是从0 开始的!2mysql_fet
8、ch_row()格式:array=mysql_fetch_row(int query);与 1 的 mysql_fetch_array()函数功能基本相同。区别在于mysql_fetch_row()只能以数组下标来表示。成功返回1 个数组,失败返回False 值。例子:?php$connect=mysql_connect(localhost,root,why810707);mysql_select_db(mysql);$sql=select*from user;$query=mysql_query($sql,$connect);while($row=mysql_fetch_row($query
9、)echo$row0.|.$row1.;mysql_close($connect);?注意:mysql_fetch_row()函数只能用数组下标来表示,并从0 开始。另外:mysql_fetch_row()比 mysql_fetch_array()执行速度快,并且都是对下一行数据进行读取。3mysql_result()格式:int mysql_result(int query,int row,string filedname);在 mysql_result()中,参数row 必须从 0 开始,参数filedname必须是真实的字段名,不能用下标来表示。执行成功,返回由数据库中取出的字段的数值,
10、失败则返回False 值。例子:?php$connect=mysql_connect(localhost,root,why810707);mysql_select_db(mysql);$sql=select*from user;$query=mysql_query($sql,$connect);$row=0;while($rowmysql_num_rows($query)名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 9 页 -echo mysql_result($query,$row,Host).|;echo mysql_result($query,$row,User).;$r
11、ow+;?4mysql_fetch_object()格式:object mysql_fetch_object(int query)能对指定的字段进行循环读取,执行成功,将以对象object的形式返回数值,失败则返回False值。例子:Host.|;echo$object-User.;?注意:mysql_fetch_object()函数执行成功后返回的是1 个对象 object!操作如下:$object-字段名 5mysql_data_seek()格式:int mysql_data_seek(int row,int query);移动游标到指定的行(row_number),执行成功,返回真值,失
12、败,返回False 值。此函数可以与mysql_fetch_array()或 mysql_fetch_row()配合使用,即在使用mysql_data_seek()函数之后,就可以用mysql_fetch_array()或 mysql_fetch_row()函数来显示指定的行了。例子:?php$connect=mysql_connect(localhost,root,why810707);mysql_select_db(mysql);$sql=select*from user;$query=mysql_query($sql,$connect);$seek=mysql_data_seek($qu
13、ery,1);$array=mysql_fetch_array($query);名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 9 页 -echo$arrayHost.|;echo$arrayUser.;?六、数据库级database的操作函数(2 个):1mysql_create_db()格式:int mysql_create_db(string database name,int link_identifier);通过程序来建立1 个数据库database,当然你也可以用mysql_query()或者 mysql_db_query()函数来建立或删除database。但我们可
14、以用这个函数更为方便地建立1 个 database。成功返回1 个真值,失败,则返回1 个 false。例子:2mysql_drop_db()格式:int mysql_drop_db(string database name,int link_identifier);通过程序来删除1 个数据库database。我们可以用这个函数更为方便地删除1 个 database。成功返回1 个真值,失败,则返回1 个 false。例子:注意:如用 mysql_query()或 mysql_db_query(),则 SQL语句应为:(1)create database dbtest(2)drop datab
15、ase dbtest七、数据库信息函数(2 个):1mysql_fetch_field()格式:object mysql_fetch_field(int query,int field_offset);返回 1 个对象,即一哈希表,下标有:名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 9 页 -table:表名name:字段名max_length:该字段的最大长度not_null:字段为 not null则返回 1,否则返回0 primary_key:字段为 primary key则返回 1,否则返回0 unique_key:字段为 unique key则返回 1,否则返回0
16、multiple_key:字段为非unique key则返回 1,否则返回0 numeric:字段为 numeric则返回 1,否则返回0 blob:字段为 blob 则返回 1,否则返回0 type:字段的类型unsigned:字段为 unsigned则返回 1,否则返回0 zerofill:字段为 zero filled则返回 1,否则返回0引用格式为:对象名-下标名使用此函数可以得到表名、字段名、类型.例子:table.;echo field name:.$object-name.;echo primary key:.$object-primary_key.;echo not null:
17、.$object-not_null.;echo field type:.$object-type.;echo field max length:.$object-max_length.;?如果我们想直接得到哈希表的第三项即第三个字段的信息,可用如下格式:table.;echo field name:.$object-name.;echo primary key:.$object-primary_key.;echo not null:.$object-not_null.;echo field type:.$object-type.;echo field max length:.$object-m
18、ax_length.;?名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 9 页 -其实这也可以通过下面这个函数来达到同样的目的。2mysql_field_seek()格式:int mysql_field_seek(int$query,int field_offset);将游标移到指定的字段上。例子:table.;echo field name:.$object-name.;echo primary key:.$object-primary_key.;echo not null:.$object-not_null.;echo field type:.$object-type.;ec
19、ho field max length:.$object-max_length.;?八、取数据库名和表名(2 个):1mysql_list_dbs()格式:int mysql_list_dbs(int link_identifier);取得所有可用的数据库名(database name)。例子:?php$connect=mysql_connect(localhost,root,why810707);$dbs=mysql_list_dbs($connect);$rows=mysql_num_rows($dbs);echo database total:.$rows.;$row=0;while($
20、row$rows)echo mysql_tablename($dbs,$row).;$row+;mysql_close($connect);?即可依次显示出MySQL中所有的数据库名字(database name)。2mysql_list_tables()名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 9 页 -格式:int mysql_list_tables(string database name);显示该数据库下所有的表的名字Table name。例子:?php$connect=mysql_connect(localhost,root,why810707);$tables=mysql_list_tables(mysql);$rows=mysql_num_rows($tables);echo Table total:.$rows.;$i=0;while($i$rows)echo mysql_tablename($tables,$i).;$i+;?名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 9 页 -