我无法使用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();
?>
答案 0 :(得分:1)
然后你需要在数据周围添加另一个数组
$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_
错误 生成您可以在浏览器上看到的异常,并且您的浏览器上也会显示其他错误。
答案 1 :(得分:-1)
$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;