我需要知道在我的网站上构建我的页面前进/后退系统的表的总行数,其中列出了联邦账单。这是我的SQL查询。
$query="SELECT COUNT (*) FROM bills";
$result = mysqli_query(dbcxn('bill'),$query);
$billcount = mysqli_fetch_assoc($result);
echo $billcount;
dbcxn()是我写的一个函数,我在所有SQL查询中都使用过它,所以我很确定它不是错误的来源。
页面上显示的错误如下:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in /opt/lampp/htdocs/unipartisan/includes/billvote.inc on line 76
我引用了一本关于SQL的书来决定使用SELECT COUNT,但它似乎与我预期的工作方式不同。
答案 0 :(得分:4)
更改为,
$query = "SELECT COUNT(*) FROM bills"; // No space between COUNT & (*)
如果有的话,一定要练习打印错误。
if (!mysqli_query(dbcxn('bill'),$query)) {
printf("Errormessage: %s\n", mysqli_error(dbcxn('bill')));
}
根据@ Dave的评论,可以找到有关错误的更多详细信息 here 。
答案 1 :(得分:1)
我认为您可以尝试为您的计数添加别名,并在COUNT
$query="SELECT COUNT(*) as total FROM bills";
现在您可以使用范围打印
echo $billcount['total'];
答案 2 :(得分:0)
<?php
$query = "SELECT * FROM YOURTABLE";
$result = mysql_query($query,$yoursqlconnection) or die('query error');
$row = mysql_num_rows($result);
echo $row;
?>
跳这个帮助