我有一个简单的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);
我觉得我错过了一些明显的东西。