Luke Welling的《PHP和MySQL Web開發》,202頁有關php從MySQL獲取數據的例子。
裏面用到
$result->fetch_assoc()
大致程序如下:
$db = new mysqli('localhost','root','hello','card');
if(mysqli_connect_error()) {
echo "connect error!";
exit;
}
echo "mysql connect success!<br />";
$query = 'select * from test';
echo $query."<br />";
$result = $db->query($query);
echo "query success<br />";
$num = $result->num_rows;
for($i=0;$i<$num;$i++) {
$row = $result->fetch_row(); //可以用fetch_row()替換
echo $row[0]."--".$row[1].'<br />';
}
echo "finish while loop row <br />";
$result = $db->query($query);//如果沒這行,數據讀不到
for($i=0;$i<$num;$i++) {
$row = $result->fetch_assoc();//這行代碼會報錯
echo $row['id']."--".$row['age'].'<br />';
echo "fetch_assoc() function continue...";
}
通過google搜索,發現這是php5.2.6的bug,安裝最新版本php就沒有此問題。