昨天的程式是這樣的:
<?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資料。