我使用复杂的连接语句从我的'items'表中获取数据,其中'column1'等于table2.ID的值
这是在mysql_query()
语句中,它应该返回3行。
现在我的理解是通过使用
$array=mysql_fetch_array($queryresult);
然后我可以使用
遍历每个'row'foreach($array as $output) {
echo $output['ID'];
}
然而,这并不是我想要的。在$ output上使用print_r输出非敏感信息。
所以,是的,它回归基础,但显然我已经错过了这一点。
答案 0 :(得分:1)
您需要使用while
循环:
while($row = mysql_fetch_array($queryresult)){
// handle each row
}
答案 1 :(得分:1)
我就是这样做的。到目前为止,这还不是最终解决方案......只是我如何做的一个例子。
$result = mysql_query($query, $dbconnect) or trigger_error("SQL", E_USER_ERROR);
$i = 0;
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo $row["questionId"];
echo $row["questionText"];
echo $row["questionReview"];
$i++;
}
答案 2 :(得分:0)
$ array中有一行,所以当你说$ output ['ID']比你期望的深一级时,走遍列而不是每一行。当id不存在或正在转换为整数时,那就是无意义的地方。
使用while($ row = mysql_fetch_array($ queryresult))遍历结果集中的每一行,然后从$ row ['id'],$ row ['name']等访问列值。当没有更多行时,它将返回false。
结果将始终是一个单独的平面数组,每个索引id都有一行,无论连接维度如何。