PHP与MySQL连接简介 .

字体大小: 中小 标准 ->行高大小: 标准
在传统的主从式数据库架构中,各个Client需通过专门的应用程序才能与后台数据库连接,因而造成Client端软件版本更新、网络连接与传输安全等问题。
而在N-Tiers数据库程序架构中,PHP网页程序与MySQL数据库均存放在主机(服务器)上,任何Client端仅需通过浏览器便可直接访问网页程序。只要网页程序更新,所有Client无须进行任何改动即可与主机网页同步更新,确保所有Client端程序版本一致。因为网页程序与数据库均在服务器端,所以在连接与传输安全上更有保障。
在本章中,我们将说明PHP网页如何运用相关API与MySQL数据库沟通,包括创建连接、执行查询、访问数据并分析查询结果等。
9.1.1 前置作业
在进行PHP与MySQL的连接之前,请注意以下几点:
 php.ini中,是否存在这条语句:extension=php_mysql.dll,以使 MySQL 函数库可以执行。
  LAMP个别安装时,是否已拷贝PHP目录中的MySQL相关函数库到系统安装目录的 system32目录下(在Windows 2000 中默认是 C:/WINNT/system32Windows  XP默认是 C:/WINDOWS/system32)有以下几个:
   Ø      libmysql.dll
 Ø      php5ts. dll
 Ø      php_mysql.dll
 Ø      php_mysqli.dl
 通过libmysql.dll函数库与extension php_mysql.dll函数库,PHP5才能使用MySQL数据库。注意:libmysql.dll MySQL 4.1 之前版本的扩展支持,libmysqli.dll MySQL 4.1 之后版本的扩展支持。
如果要确定你的PHP环境是否可以进行MySQL的连接与操作,请进行下一节的连接检查。
重点整理
在进行PHPMySQL的连接之前,请确认:
php.ini中,是否存在这条语句:extension=php_mysql.dll
是否已拷贝PHP目录中的MySQL相关函数库到系统安装目录的 system32目录下。
9.1.2 连接检查
一开始,我们先执行一个小程序,程序虽小,却包括了创建连接、执行查询与列出查询等要素。若这个程序执行正确,则表示PHP与MySQL连接环境设置无误。
这个程序的目的是列出MySQL数据库中的user表格数据,假设用户root的密码为123456。如果MySQL数据库用户名为root ,但是密码并非123456,请将范例9-1第二行中的 ‘123456’ 改为当前root账号所使用的密码。
请将以下范例9-1的test.php文件,放在(1)个别安装:Apache的htdoc目录下,或(2)单一安装:AppServ的C:/AppServ/www目录下。

 

范例9-1  连接检查测试范例
打开浏览器,浏览http://localhost/test.php网址,根据系统中账号多寡不同,列出的数据列数也会有所不同,但显示画面应大致如图9-1所示。
 
 
9-1  连接检查范例画面
如果无画面出现或出现错误信息,请检查相关环境设置,并重新测试。如果可以看到如图9-1所示的画面,表示PHP与MySQL环境已经设置完成,可以进行下面的练习。
重点整理
范例test.php文件若执行正确,则表示PHPMySQL连接环境设置无误。

[php]
  1. <?php  
  2.   
  3. $link = mysql_connect("localhost","root","123456");  
  4.   
  5. //连接   
  6.   
  7. mysql_select_db('mysql');   
  8.   
  9. //选择数据库   
  10.   
  11. mysql_query("SET NAMES 'utf8'");  
  12.   
  13. //设置编码(需要和本页面的编码一致   
  14.   
  15. $result = mysql_query("select * from user",$link);  
  16.   
  17. //下 SQL 指令   
  18.   
  19. /* 以 HTML Table 方式解析返回数据 */  
  20.   
  21. echo "<table border=1>/n";  
  22.   
  23. echo "<tr>/n";  
  24.   
  25. /* 显示表头 */  
  26.   
  27. while ($field = mysql_fetch_field($result)) {  
  28.   
  29.   echo "<td>".$field->name."</td>/n";  
  30.   
  31. }  
  32.   
  33. echo "</tr>/n";  
  34.   
  35. /* 显示表身 */  
  36.   
  37. while ($row = mysql_fetch_row($result)) {  
  38.   
  39.   echo "<tr>/n";  
  40.   
  41.     
  42.   
  43.   for($i=0;$i<count($row);$i++){  
  44.   
  45.       echo "<td>".$row[$i]."</td>";  
  46.   
  47.   }  
  48.   
  49.   echo "</tr>/n";  
  50.   
  51. }  
  52.   
  53. echo "</table>/n";  
  54.   
  55. /* 释放 result */  
  56.   
  57. mysql_free_result($result);  
  58.   
  59. /* 关闭连接 */  
  60.   
  61. mysql_close($link);  
  62.   
  63. ?>  

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/67627.html