如何在PHP中返回COUNT mysql查询结果的整数



我只是把一个简单的PHP程序放在一起,它只计算数据库中的总行数,并在收到来自前端的get请求时以JSON对象的形式返回结果。

这一切都应该非常简单,但就我的生活而言,我不知道如何以可用的格式检索计数结果。我从中得到的只是";空";

有什么想法吗?

$con = mysqli_connect($servername, $username, $password, $dbname);
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
$query="SELECT COUNT(*) FROM database";
$result = mysqli_query($con,$query);
$count = mysqli_fetch_assoc($result);
echo json_encode($count);

您可以使用COUNT as来避免很长的键。

下面是的代码示例

$sql = "SELECT COUNT(column) as count FROM mytable";
$stmt = mysqli_stmt_init($db);
mysqli_stmt_prepare($stmt, $sql);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
$count = mysqli_fetch_assoc($result)['count'];
echo $count;

要在JSON中显示数据,您可以尝试以下操作:

echo json_encode(['count' => $count])

这本身不会给你计数。我建议您开始使用MySQL对象方法,而不是函数。

您还应该使用";作为";satement作为为具有计数值的列命名的方式;在我的示例中,该列将被称为C。

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
if ($mysqli->connect_errno) {
printf("Connect failed: %sn", $mysqli->connect_error);
exit();
}
$query = "SELECT COUNT(*) as C FROM database";
if ($result = $mysqli->query($query)) {
/* fetch associative array */
$row = $result->fetch_assoc();
echo $row["C"];
}

编辑:在SELECT COUNT的特定情况下,您将只得到1行,因此对于这个特定的示例,您可以只执行fetch_assoc((。

最新更新