在我执行数据库查询之后,一些行被回显,我似乎无法获得查询后显示的行数。尝试使用mysql_num_rows(),但我的$result是这样的:
$result = $conn->query($sql) or die();所以我认为问题在于我使用了内置的MySQLi()类,而由于某种原因,mysql_num_rows()不能按照这个$result工作。我如何才能使它与我正在使用的当前$result一起工作,或者是否有其他方法可以使用MySQLi()类来创建$result来返回行数?
发布于 2011-09-21 22:58:04
mysql和mysqli不能互换。它们是两个完全不同的模块,维护着各自独立的连接,其中一个模块的结果/句柄在另一个模块中不可用。它们可能都使用相同的底层mysql库并与相同的数据库通信,但它们是完全独立的。
如果您使用的是MySQLi,那么坚持使用MySQLi函数,您的问题就是使用http://php.net/manual/en/mysqli-stmt.num-rows.php
发布于 2011-09-21 22:58:04
Note1:如果您只需要表中的行数,最好执行以下操作:
$result = $conn->query("SELECT COUNT(*) FROM `table`");
$row = $result->fetch_row();
echo '#: ', $row[0];注意事项2:不要混淆mysqli_field_count和mysqli_stmt_num_rows。例如:
id firstname
1 foo
2 bar
3 bazhttps://stackoverflow.com/questions/7501900
复制相似问题