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就没有此问题。