我的服务器返回空白页面,角落里有'null'

时间:2017-08-01 05:57:21

标签: php mysql json

我需要简单的Web服务来从本地数据库获取数据,但是当我将文件从测试服务器移动到实际服务器时,我只会在左上角收到空白页面,其中包含“null”。 我的PHP代码非常简单:

<?php
// Include config
require_once 'config/db.php';
$sql = new db();
$conn = $sql->connect();

$task = isset($_GET['task']) ? mysql_real_escape_string($_GET['task']) :  "";

if(!empty($task))
{
    if($task === "totals")
    {
        $qur = mysql_query("working query - no problem here;");
        $result =array();
        while($r = mysql_fetch_array($qur))
        {
            extract($r);
            $result[] = array("total_value" => $total_value, 'orders_date' => $orders_date, 'number_of_orders' => $number_of_orders); 
        }
        $json = $result;
    }
}

@mysql_close($conn);

/* Output header */
header('Content-type: application/json');
echo json_encode($json, JSON_PRETTY_PRINT);
?>

这是db.php代码:

<?php
class db
{
    // Properties
    private $dbhost = 'ip-address';
    private $dbuser = 'xxx';
    private $dbpass = 'yyy';
    private $dbname = 'zzz';
    // Connect
    public function connect()
    {
        $conn = mysql_connect($this->dbhost, $this->dbuser, $this->dbpass);
        mysql_select_db($this->dbname, $conn);
    }
}
?>

1 个答案:

答案 0 :(得分:0)

可能是Json_encode没有给出正确答案。

1)另请确保JSON_PRETTY_PRINT仅适用于PHP版本&gt; = 5.4。它的值为128,因此请尝试将128替换为JSON_PRETTY_PRINT。

仅在页面顶部进行错误报告以进行调试

2)还要确保在编码之前尝试打印$json

3)正如评论中所述,只有在实际获取数据时才进行编码

!empty($json){
header('Content-type: application/json');
echo json_encode($json, JSON_PRETTY_PRINT);
}