【问题标题】:Json total result mysqlJson总结果mysql
【发布时间】:2023-04-01 08:30:01
【问题描述】:

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

【问题讨论】:

  • json_encode( array(array('Total1' =&gt; $total1)) );
  • @RiggsFolly 非常感谢,它成功了!
  • 你不应该使用 mysql_* 函数。自从大约十年以来,它们就被劝阻了,自 PHP5.5 起被弃用,自 PHP7 起被删除。毫无疑问,任何依赖它们的代码在实际使用中都被认为是不安全的。为了您正在编写的程序、将要使用它的用户以及您自己作为程序员的工作,您应该尽快切换到 PDO。您甚至不应该编写包含这些功能的代码,即使(尤其是)如果它位于这样的网站而不是 IDE 中,因为它会将行为传播给新的编码人员。
  • 请使用退出;连接关闭后。万一将来如果有任何 HTML 代码或它下面的任何其他代码,那么它可能会被执行。

标签: php mysql json


【解决方案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_ 错误 生成一个您可以在浏览器上看到的异常,其他错误也将在您的浏览器上显示。

【讨论】:

    【解决方案2】:
    $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;
    

    【讨论】:

    • @Vaishnavesh - 请添加一些解释,说明此代码如何以及为何解决此 OP 的问题,最好附上相关文档的链接,以及支持您的解释的相关引用。尽管此代码显然对 OP 有所帮助,但另一个搜索类似问题的解决方案的用户可能会找到此问题和答案,但不了解此代码有何用处。
    猜你喜欢
    • 1970-01-01
    • 2010-09-27
    • 2014-06-05
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-14
    • 2011-11-23
    相关资源
    最近更新 更多