快速提问...我的SQL查询正在吐出这些数据...
Array ( [id] => 1 [name] => Test Name [text] => This is text [image] => image.jpg )
当有两行数据时,我的php代码有问题吗?
$query = "SELECT id, name, text, image FROM categories";
$results = mysql_query($query, $connection);
$results = mysql_fetch_assoc($results);
答案 0 :(得分:2)
mysql_fetch_assoc
一次获取一行。您需要遍历结果集:
while(false !== ($row = mysql_fetch_assoc($results))){
[handle $row here]
}
来自文档(搜索是你的朋友):
返回与获取的行对应的字符串关联数组,如果没有其他行,则返回FALSE。
如果结果的两列或多列具有相同的字段名称,则最后一列将优先。要访问同名的其他列,您需要使用mysql_fetch_row()或添加别名来访问带有数字索引的结果。请参阅有关别名的mysql_fetch_array()描述中的示例。
干杯
答案 1 :(得分:1)
获取函数一次只返回一行。如果你想要所有的行,你将不得不使用循环:
while($row = mysql_fetch_assoc($results)) {
... do stuff with $row
}
答案 2 :(得分:0)
mysql_fetch_assoc($ results)只提取一行。