当我在mysql中运行此查询时,它会正确返回所有请求的结果:
SELECT row_id FROM table1 WHERE status = n
UNION ALL
SELECT row_id FROM table2 WHERE status = n
UNION ALL
SELECT row_id FROM table3 WHERE status = n
但是,当我从PHP运行它时,它仅返回一条记录,即满足请求条件的第一行。
$query = mysqli_query($link, "SELECT row_id FROM table1 WHERE status = n
UNION ALL
SELECT row_id FROM table2 WHERE status = n
UNION ALL
SELECT row_id FROM table3 WHERE status = n");
print_r(mysqli_fetch_array($query));
因此print_r
显示以下内容:Array ( [0] => 1 [row_id] => 2580 )
,其中2580是table1中满足请求条件的行的id。
如何使其返回完整的结果数组?
您可以尝试循环打印数据,例如:
$query = mysqli_query($link, "SELECT row_id FROM table1 WHERE status = n
UNION ALL
SELECT row_id FROM table2 WHERE status = n
UNION ALL
SELECT row_id FROM table3 WHERE status = n");
while($row = mysqli_fetch_array($query)){
print_r($row);
}
简单地说,mysqli_fetch_array仅返回循环中的当前行。您需要遍历它才能获得所有结果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句