我正在尝试获取查询的一些结果,并使用PHP计算所有数据结果。
其实我做的是这样的事情:
$MQ=$cnx->query("SELECT COUNT(id) FROM table WHERE field=1;");
$MFA=$cnx->fetch_row();
$count=$MFA[0];
echo "Showing $count results";
$MQ=$cnx->query("SELECT id,name FROM table WHERE field=1;");
while($MFA=$MQ->fetch_assoc()){
// show something with $MFA[id] and $MFA[name]
}
我想避免使用2个查询,有没有办法让行计数,然后然后获得所有结果而不使用数组?
答案 0 :(得分:3)
您可以使用num_rows
属性获取结果集中的行数。
$MQ=$cnx->query("SELECT id,name FROM table WHERE field=1;");
$count=$MQ->num_rows;
echo "Showing $count results";
while($MFA=$MQ->fetch_assoc()){
// show something with $MFA[id] and $MFA[name]
}
答案 1 :(得分:-3)
有没有办法获取行数,然后在不使用数组的情况下获得所有结果?
有,但你不需要它。
事实上,你应该使用数组,将业务逻辑与表示逻辑分开。
只要你有一个数组,你就可以随时计算它的成员。
您绝对应该放弃在查询执行期间正确显示查询结果的做法。相反,学习逻辑分离和模板的使用。