我正在尝试SELECT COUNT表的总记录,我做错了什么?提前谢谢
我收到此错误
致命错误:在布尔值
上调用成员函数fetch_row()
<?php
$mysqli = new mysqli('localhost','root','','testing');
//Output any connection error
if ($mysqli->connect_error) {
die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
//get total number of records
$results = $mysqli->query("SELECT COUNT(*) FROM users");
$get_total_rows = $results->fetch_row(); //hold total records in variable
$mysqli->close();
?>
答案 0 :(得分:5)
只要表存在,您的代码就能正常工作。
我创建了一个简单的表格如下:
mysql> create table users(a int);
Query OK, 0 rows affected (0.01 sec)
mysql> insert into users(a) values(1);
Query OK, 1 row affected (0.03 sec)
mysql> insert into users(a) values(3);
Query OK, 1 row affected (0.03 sec)
mysql> insert into users(a) values(5);
Query OK, 1 row affected (0.00 sec)
在代码中插入一行:
echo $get_total_rows[0];
在屏幕上打印3。但是如果我拼错了表名,我可以重现你看到的错误。
请仔细检查您的表名是否正确。
答案 1 :(得分:2)
我敢打赌$results
的值为FALSE,而不是结果集,因为我猜测你有一个SQL错误。尝试在SQL客户端中运行该语句,或者在线检查错误:
$results = $mysqli->query("SELECT COUNT(*) FROM users") or die($mysqli->error);
答案 2 :(得分:2)
在访问结果之前,您还可以先检查脚本是否有错误。
Double
答案 3 :(得分:2)
正如文档所述,mysqli :: query在失败时返回FALSE。所以你可以先通过mysql控制台检查你的SQL语句。
答案 4 :(得分:0)
我今天偶然发现了同样的错误,并通过搜索引擎发现了这个问题。
我能够通过在之前运行的查询末尾添加$stmt->close();
来解决此问题。
答案 5 :(得分:0)
我有同样的问题。
检查db中是否存在表;