详解PHP显示MySQL数据的三种方法
昨天的程序是这样的:
<?php
$link=mysql_connect("localhost","root","之前的管理员密码");
if(!$link) echo "没有连接成功!";
else echo "连接成功!";
mysql_select_db("infosystem", $link);
$q = "SELECT * FROM info";
mysql_query("SET NAMES GB2312");
$rs = mysql_query($q, $link);
if(!$rs){die("Valid result!");}
echo "<table>";
echo "<tr><td>部门名称</td><td>员工姓名</td><td>PC名称</td></tr>";
while($row = mysql_fetch_row($rs)) echo "<tr><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td></tr>";
echo "</table>";
mysql_close($link);
?>
程序中红色部分就是显示MySQL中数据的关键。这里,大家可以用其它两种方式替换红色部分并达到相同效果。
while($row = mysql_fetch_object($rs)) echo "<tr><td>$row->depart</td><td>$row->ename</td><td>$row-pcname</td></tr>";
while($row = mysql_fetch_array($rs)) echo "<tr><td>$row[depart]</td><td>$row[ename]</td><td>$row[pcname]</td></tr>";
简要地说明一下:
用mysql_fetch_row()的方法返回的一行数据列储存在一个数组的单元中,偏移量从 0 开始。例如你要返回第二个字段的数据,就应该写成$row[1]而不是$row[2]。
mysql_fetch_array() 和 mysql_fetch_row() 类似,返回的数据也是存储在一个数组中,有所区别的是我们应该用字段命来访问该数组而不是通过偏移量,例如$row[depart]。
mysql_fetch_object()返回的不再是数组而是一个对象,我们应该用对对象的操作方法来读取数据,例如:$row->depart。
大家可以根据自身需要,选择一种方式,代替程序中红色部分来读取MySQL数据。