php - JSON 在我的应用程序中返回 [null,null]

标签 php mysql sql json database

我想通过 json 将包含 PHPH 文件的数据库记录发送到我使用 IntelXDK 制作的应用程序。因为我无法将 PHP 代码与英特尔 XDK 一起使用,所以我需要使用 JSON。我想在屏幕上显示“引用”表中的两条记录“引用”和“作者”。有人帮助我编写了这段代码,但它只是返回 [null,null] 而不是我需要的两条记录。我尝试过调试,但我对 PHP 很陌生,所以我无法让它工作。任何可以帮助或看到的人这段代码有错误吗?谢谢!

PS:是的,我现在已经有其他人就这个主题提出了多个问题。我已经阅读了所有内容,但没有一个能解决我的问题..

 <?php

    if(isset($_GET["get_rows"]))
    {
        //checks the format client wants
        if($_GET["get_rows"] == "json")
        {
            $link = mysqli_connect("localhost", "xxxxx", "xxxxx", "xxxx");

            /* check connection */
            if (mysqli_connect_errno()) {
                echo mysqli_connect_error();
                header("HTTP/1.0 500 Internal Server Error");
                exit();
            }

            $query = "SELECT quote, author FROM quotes WHERE id = " . date('d');

            $jsonData = array();

            if ($result = mysqli_query($link, $query)) {

                /* fetch associative array */
            $row = $result->fetch_assoc($result);

            // Create a new array and assign the column values to it
             // You can either turn an associative array or basic array
            $ret= array();

            $ret[] = $row['quote']; 
            $ret[] = $row['author']; 

                //encode to JSON format

                echo  json_encode($ret);

            }

            else {

                echo  json_encode($ret);
            }

            /* close connection */
            mysqli_close($link);
        }
        else
        {
            header("HTTP/1.0 404 Not Found");
        }
    }
    else
    {
        header("HTTP/1.0 404 Not Found");
    }


    ?>

最佳答案

您在 fetch_assoc() 函数调用中存在错误 - 删除 $result 参数。如果您启用了错误报告,您应该会看到:

Warning: mysqli_result::fetch_assoc() expects exactly 0 parameters, 1 given

只需将其更改为:

$row = $result->fetch_assoc();

在 JavaScript 中解析此响应,只需执行以下操作:

var obj = JSON.parse(xmlhttp.responseText);
document.getElementById("quote").innerHTML = obj[0];
document.getElementById("author").innerHTML = obj[1];

关于php - JSON 在我的应用程序中返回 [null,null],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30544074/

相关文章:

php - 如何向mysql数据库中插入元素

php - 如何提高bemusic服务器文件上传限制?

php - 网站需要永远加载然后我得到 "Uncaught SoapFault exception"

sql - 如何从 .sql 文件创建多个存储过程

mysql - 如何执行多个 SQL 连接以便返回符合特定条件的实体?

php - Zend ACL 是否适合我的需求?

mysql - 确保在 MySQL 中填写顺序字段

MySQL - 条件 WHERE

SQLITE:如何对包含值 1-99 和字母 a-z 的字符串列进行排序,首先是数字,然后是字母

php - 在 PHP 中使用 mysql_fetch_assoc 时的警告