Json总结果mysql

时间:2017-08-02 12:31:49

标签: php mysql json

我无法使用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();
?>

2 个答案:

答案 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;