使用PHP访问MySQL数据库
在这一部分我们将建立一个简单的支持PHP的本地网站用来支持访问前面建立的MySQL表。
我们先建立下面几个文件:
建立index.php3用来显示数据库内容
建立add.php3用来向表中加入记录
建立Modify.php3用来修改表的内容
建立del.php3用来删除表中的记录
首先我们想在网页中显示数据库中表tb1的内容
请看下面的脚本:
Index.php3:
Data from tbl
mysql_connect() or die ("Problem connecting to
DataBase");
$query = "select * from tbl";
$result = mysql_db_query("example", $query);
if ($result) {
echo "Found these entries in
the database:
";
echo "
User Name |
Last Name |
Domain
Name |
Request
Date |
";
while ($r =
mysql_fetch_array($result)) {
$idx =
$r["idx"];
$user = $r["UserName"];
$last =
$r["LastName"];
$text = $r["FreeText"];
echo "
$idx |
$user |
$last |
$text |
";
}
echo
"
";
} else {
echo "No
data.";
}
mysql_free_result($result);
include ('links.x');
?>
好,现在解释一下上面的内容。
我们先用HTML标签来建立一个HTML文档的结构,当要调用PHP脚本时使用标签 脚本 ?>
,Web服务器将把后面的文本识别为PHP脚本代码,而不是HTML代码。
mysql_connect()命令用来与MySQL数据库服务器建立连接。如果与数据库连接成功,脚本程序将继续向下执行,如果无法连接将显示终止执行的信息"Problem
connecting to DataBase"。
如果使用必伟网络提供的MySQL数据库帐户,与数据库的连接命令就应该使用如下方式:
mysql_connect (localhost, username, password);
我们将查询MySQL数据库的命令赋给$query,脚本通过mysql_db_query命令来执行这个查询命令:
$result = mysql_db_query("example", $query);
"example"是数据库的名字,$query就是要使用的MySQL查询方式。mysql_db_query实际是一个函数,它将对example数据库进行select
* from tbl的操作,操作的结果赋给$result。
我们使用MySQL的命令select来获得表中的数据:
$query = "select * from tbl";
查询命令将查询结果的状态标志符传递给$result,而不是查询的信息内容,但标志符可以翻译成我们需要的信息。
接下来是要查看是否得到了数据库中的数据信息,并将信息以固定的格式显示在HTML表格中。如果要检验是否得到数据,可以使用下面的语法结构:
if (argument) {
"command1;"
} else {
"command2;"
}
当判断的条件为真时,将执行"command1",如果条件为假,则执行"command2"。注意我们在建立HTML的表格时使用echo命令后面加上HTML的标签。
echo "
"
在网页中显示的是引号中的内容,而PHP命令不会显示出来。
下面是使用的循环结构:
while (argument)) {
"command1";
}
while循环在条件为真时将一直执行{ }内的命令。
这里我们是将while循环与PHP命令$r=mysql_fetch_array ($result)组合在一起使用。这个命令是从表中读取一行满足结果result的记录,并将读取的结果放入一个关联数组$r,并使用表中列的名称作为数组的标识即你可以使用一个名字来访问数组,比如$my_array['first_name']。从上面的脚本中可以得到数组:
$r['idx'], $r['UserName'], $r['LastName'] and
$r['FreeText'].
我们也可以使用命令mysql_fetch_row将读取结果放到一个普通的数组中,得到的结果是:
$r[0], $r[1], $r[2] and $r[3]
现在我们从数据库中得到了所有的信息,下面就是将信息显示在HTML的表格中:
echo "
$idx |
$user |
$last |
$text |
";
现在我们可以关闭与MySQL的连接并释放相关的资源,使用命令:mysql_free_result($result)。
作者: 新浪来源: Internet日期: 2008-01-01