我很难使用 json 显示 mysql 查询结果的总数。
我尝试了这个规则,但它只返回如下:
{"Total1": "10"}
我需要用 [] 返回它:
[{"Total1": "10"}]
遵循 php 代码:
<?php
include 'DatabaseConfig.php';
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT revenda, quantidade FROM app_venda";
$result = $conn->query($sql);
$total1 = mysql_num_rows($result);
if ($result->num_rows > 0) {
// output data of each row
$row[total1] = $total1;
$json = json_encode($row);
} else {
echo "0 results";
}
echo $json;
$conn->close();
?>
然后你需要在数据周围添加另一个数组
$total1 = 10;
echo json_encode( array(array('Total1' => $total1)) );
结果
[{"Total1":10}]
或者使用代码对数组定义进行更正。请注意$row['total1'] = 10;
在数组名称两边使用引号来阻止此错误
注意:使用未定义的常量 total1 - 假设"total1">
$row['total1'] = 10;
echo json_encode( array( $row ) );
我是否可以建议您在所有脚本的顶部添加这些行来测试代码
ini_set('display_errors', 1);
ini_set('log_errors',1);
error_reporting(E_ALL);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
这将强制任何
mysqli_
错误 生成您可以在浏览器上看到的异常,其他错误也将在浏览器上可见。
$total1 = mysql_num_rows($result);
$row = array();
if ($result->num_rows > 0) {
// output data of each row
$row[][total1] = $total1;
$json = json_encode($row);
} else {
echo "0 results";
}
echo $json;