我需要简单的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);
}
}
?>
答案 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);
}