在终端
mysql> select image,title,price from test;
db result:
image title price
1 2 3
4 5 6
但是,在PHP中
.
.
$query=mysql_query("select image,title, price from test",$connect);
$row=mysql_fetch_object($query);
print json_encode($row);
结果:
image= 1, title = 2 , price=3
为什么不打印图片= 4 title = 5 price = 6? 如何?
答案 0 :(得分:3)
因为您只打印第一个$行
你需要一个循环:
while ($row = mysql_fetch_object($result)) {
...
}
答案 1 :(得分:3)
如果查看mysql_fetch_object()
的PHP文档,其目的是“将 a 结果行作为对象获取”。你必须继续打电话,直到没有更多的行:
$result = mysql_query("select image,title, price from test", $connect);
while ($row=mysql_fetch_object($result)) {
print json_encode($row);
}
mysql_free_result($result);
另请注意,我将mysql_query()
的返回值重命名为$result
,因为这更加正确。
答案 2 :(得分:1)
尝试将查询放入while循环中:
while($row = mysql_fetch_object($query ))
{
print json_encode($row);
}
答案 3 :(得分:1)
mysql_fetch_object
只获取一行。你需要循环遍历它们,直到没有更多的行,如下所示:
while (($row = mysql_fetch_object($query)) !== false) {
// do stuff
}
答案 4 :(得分:1)
mysql_fetch_object方法仅返回结果集的第一行。您应该遍历结果集以获取所有行。