Php count(*)-MySQLi给出一个空字符串

Php count(*)-MySQLi给出一个空字符串,php,mysqli,count,Php,Mysqli,Count,我刚开始使用MySQL,并尝试编写一个小文章生成器。为此,我需要计算数据库中的文章实体。当我在mariaDB命令行中编写此表达式时,它可以正常工作: $articles\u amount=“从post中选择计数(*)”; $articles\u amount=@mysqli\u query($dbc,$articles\u amount); 从post中选择COUNT(*)输出: +----------+ | COUNT(*) | +----------+ | 3 | +----

我刚开始使用MySQL,并尝试编写一个小文章生成器。为此,我需要计算数据库中的文章实体。当我在mariaDB命令行中编写此表达式时,它可以正常工作:

$articles\u amount=“从post中选择计数(*)”;
$articles\u amount=@mysqli\u query($dbc,$articles\u amount);
从post中选择COUNT(*)输出:

+----------+
| COUNT(*) |
+----------+
|        3 |
+----------+

当我试图打印出
$artcles\u amount
的值时,我得到一个空字符串。数据库连接适用于其他语句。

您刚刚进行了查询。你需要做一些更像:

$res = $dbc->query('SELECT COUNT(*) count FROM post');
$row = $res->fetch_object();
$count = $row->count;

我对PHP不太了解,但您可以尝试将您的
COUNT(*)
,例如
COUNT(*)别名为cnt
,然后从PHP脚本访问该别名。这不是我的编辑。您应该测试连接和
$res->num_rows
,释放结果,甚至关闭连接(尽管您可以避免最后一步)。您不应该测试连接(因为,首先,它不是您所说的连接,而是查询结果;其次,您也不应该测试查询结果。默默失败是对其他开发人员的一记恶拳。您应该始终让PHP告诉您发生的问题)。您也不应该测试num_行,因为这对这个查询没有意义。是的,关闭连接确实可以在一些奇怪的情况下使用,但在这个脚本中肯定不会。