当前位置: 首页 > 图文教程 > 网络编程 > PHP > 详解PHP显示MySQL数据的三种方法

PHP
MYSQL版本大于4.1问题 - PHPchina
怎么让用户点击一个连接后,把一个图片另存了 - PHPchina
武汉10月15日Phper聚会召集!!! - PHPchina
php如果不等待exec执行的程序创建的子进程? - PHPchina
哪位知道DISCUZ处理防SQL注入的代码是哪部分 - PHPchina
求教!我实在不知道哪里问题,在线等ing - PHPchina
怎样结束用户某一进程 - PHPchina
比对用户名密码能不能这样写? - PHPchina
求助:如何在PHP+mysql中实现数据备份? - PHPchina
大家看看这个配置对吗 - PHPchina
如何禁止require当前文件 - PHPchina
无法将回调函数放在类中? - PHPchina
村里 PHP代码高亮是怎么实现的? - PHPchina
apache安装后.服务里没有apache2这个服务! - PHPchina
请教一个小问题 - PHPchina
config.php里面是不是应该把多数参数设置为常量而不是变量? - PHPchina
请教高手一个问题 - PHPchina
如何让百度收录我的网站 ?? - PHPchina
谁能给个注入的简单语句? - PHPchina
求PHP站内搜索思路 - PHPchina

详解PHP显示MySQL数据的三种方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 43 ::
收藏到网摘: n/a

在昨天的专题里,我们谈论了如何用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数据。