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连接环境设置无误。

 

1.<?php 
2.$link = mysql_connect("localhost","root","123456"); 
3.//连接 
4.mysql_select_db('mysql'); 
5.//选择数据库 
6.mysql_query("SET NAMES 'utf8'"); 
7.//设置编码(需要和本页面的编码一致 
8.$result = mysql_query("select * from user",$link); 
9.//下 SQL 指令 
10./* 以 HTML Table 方式解析返回数据 */ 
11.echo "<table border=1>/n"; 
12.echo "<tr>/n"; 
13./* 显示表头 */ 
14.while ($field = mysql_fetch_field($result)) { 
15.echo "<td>".$field->name."</td>/n"; 
16.} 
17.echo "</tr>/n"; 
18./* 显示表身 */ 
19.while ($row = mysql_fetch_row($result)) { 
20.echo "<tr>/n"; 
21.for($i=0;$i<count($row);$i++){ 
22.echo "<td>".$row[$i]."</td>"; 
23.} 
24.echo "</tr>/n"; 
25.} 
26.echo "</table>/n"; 
27./* 释放 result */ 
28.mysql_free_result($result); 
29./* 关闭连接 */ 
30.mysql_close($link); 
31.?> 

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