尝试从php计算mysql数据库中的行数不返回任何东西


Attempt to count rows in mysql db from php doesn't return a thing

我正在尝试使用以下代码获取表中的行总数:

$count = mysqli_query($con, "SELECT COUNT(*) AS total FROM random_codes");
$count = mysqli_fetch_object($count);
$count = $count->total;
echo "count is $count<br />";

,但回显总是"count is ",后面没有值。在phpMyAdmin中运行相同的SQL代码,返回的行数(超过2000)为所请求的总数,因此问题可能在php代码中。亲爱的回复者,我是php的新手;SQL所以请详细说明和/或链接到我的文档。谢谢. .

编辑:尝试错误检查,没有错误显示

$result = mysqli_query($con, "SELECT COUNT(*) AS total FROM random_codes");
echo mysqli_error($con);
$obj = mysqli_fetch_object($result);
$count = $obj->total;
echo "count is $count<br />";

我可以通过关闭PHP的错误报告来重复您的问题,并建立一个错误的数据库连接:

error_reporting(0);
$con = new mysqli("localhost", "baduser", "badpw", "SomeDB");
$count = mysqli_query($con, "SELECT COUNT(*) AS total FROM SomeTable");
echo mysqli_error($con);
$count = mysqli_fetch_object($count);
$count = $count->total;
echo "count is $count<br />";

输出:count is

尝试打开错误报告并仔细检查您的连接信息:

error_reporting(E_ALL);

可能会出现如下错误:

警告:mysqli::mysqli(): (28000/1045): Access denied for user'baduser'@'localhost'(使用password: YES)

如果您在共享主机上,通常情况下,它们默认的错误报告值可能会为您隐藏某些错误,并且您需要在开发模式下覆盖该值。

我认为问题出在echo语句中。你需要做的是使用a。在"count is"和变量$count之间的运算符

echo "count is". $count."<br />";

如果这不起作用,试试这个

$query=mysql_query("SELECT COUNT(*) AS total FROM random_codes");
$result=mysql_fetch_array($query);
$count=$result['total'];
echo "count is". $count."<br />";