PHP JSON_ENCODE数组不返回任何响应

时间:2016-05-26 15:14:06

标签: php json

我有一个简单的PHP脚本,它会查询数据库并且应该返回一个JSON响应,但它似乎没有工作。

var_dump($players)上,这是一个示例回复

array (size=99301)
 0 => 
array (size=2)
  'guid' => string '?B937097' (length=8)
  'name' => string '�scar Benito (?B937097)' (length=23)
 1 => 
array (size=2)
  'guid' => string '?D841077' (length=8)
  'name' => string '�ngel Luis Diez Samper (?D841077)' (length=33)
 2 => 
array (size=2)
  'guid' => string '?N573092' (length=8)
  'name' => string '�lvaro Negredo (?N573092)' (length=25)
 3 => 
array (size=2)
  'guid' => string '?V565877' (length=8)
  'name' => string '�lvaro V�zquez Garc�a (?V565877)' (length=32)
 4 => 
array (size=2)
  'guid' => string 'AA101850' (length=8)
  'name' => string 'Andrew Ansen (AA101850)' (length=23)
 5 => ....

这是PHP脚本。不会抛出任何错误,但不会以JSON格式返回任何响应。

error_reporting(E_ALL);
ini_set("display_errors", 1);

require_once("db_config.php");

$conn = mysqli_connect(DBSERVER, DBUSER, DBPASS, DBNAME);

if(!$conn) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging erron: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

$players = array();

$sql = "SELECT DataGuid, DataField1, DataField2 FROM data_1";
$query = mysqli_query($conn, $sql);

if($query) {
    while($res = mysqli_fetch_assoc($query)) {
        $players[] = array(
            'guid' => $res['DataGuid'],
            'name' => $res['DataField1'] . " " . $res['DataField2'] . " (" . $res['DataGuid'] . ")"
        );
    }   
}
else {
    echo "Error.";
}

mysqli_close($conn);

header('Cache-Control: no-cache, must-revalidate');
header('Content-Type: application/json');
echo json_encode($players); 

我觉得我错过了一些明显的东西。

0 个答案:

没有答案