我有一个名为'plan_test'的MySQL数据库,其中包含名为(5a,5b,5c ...)的表。这些表具有相同的列和多行。我已经设置了一个拥有权限的用户来完成数据库的所有工作。这里是我的PHP代码,它应该返回一个JSON格式化字符串,我可以读以后:不能编码我从PHP脚本得到的输出数组到Json
<?php
$servername = "localhost";
$username = "tester";
$password = "abc123";
$dbname = "plan_test";
$sql = "select * from plan_test.5a";
$con = mysqli_connect($servername,$username,$password,$dbname);
mysqli_set_charset($con,"utf-8");
$result = mysqli_query($con,$sql);
$response = array();
while($row = mysqli_fetch_array($result)){
array_push($response,array("Klasse"=>$row[0],"Tag"=>$row[4],"Monat"=>$row[5],"Stundenanfang"=>$row[7],"Stundenende"=>$row[8],"Art"=>$row[9],"Fach"=>$row[10],"Lehrer"=>$row[11],"sFach"=>$row[12],"sLehrer"=>$row[13],"Raum"=>$row[14],"Bemerkung"=>$row[15]));
}
echo json_encode(array("test"=>$response));
mysqli_close($con);
?>
我得到一个空白网站出来的,当我运行
var_dump($response);
我得到这个:
array(3) {
[0]=>
array(12) {
["Klasse"]=>
string(2) "5a"
["Tag"]=>
string(2) "19"
["Monat"]=>
string(1) "5"
["Stundenanfang"]=>
string(1) "1"
["Stundenende"]=>
string(1) "2"
["Art"]=>
string(10) "Vertretung"
["Fach"]=>
string(1) "E"
["Lehrer"]=>
string(2) "VH"
["sFach"]=>
string(1) "E"
["sLehrer"]=>
string(2) "AL"
["Raum"]=>
string(3) "113"
["Bemerkung"]=>
string(1) "�"
}
[1]=>
array(12) {
["Klasse"]=>
string(2) "5a"
["Tag"]=>
string(2) "19"
["Monat"]=>
string(1) "5"
["Stundenanfang"]=>
string(1) "3"
["Stundenende"]=>
string(1) "4"
["Art"]=>
string(10) "Vertretung"
["Fach"]=>
string(4) "SCHW"
["Lehrer"]=>
string(2) "WE"
["sFach"]=>
string(4) "SCHW"
["sLehrer"]=>
string(2) "TO"
["Raum"]=>
string(3) "AH2"
["Bemerkung"]=>
string(1) "�"
}
[2]=>
array(12) {
["Klasse"]=>
string(2) "5a"
["Tag"]=>
string(2) "19"
["Monat"]=>
string(1) "5"
["Stundenanfang"]=>
string(1) "3"
["Stundenende"]=>
string(1) "4"
["Art"]=>
string(10) "Vertretung"
["Fach"]=>
string(4) "SCHW"
["Lehrer"]=>
string(2) "RR"
["sFach"]=>
string(4) "SCHW"
["sLehrer"]=>
string(2) "WI"
["Raum"]=>
string(3) "AH1"
["Bemerkung"]=>
string(1) "�"
}
}
由于某种原因,这个数组没有被编码为json格式。 如何将此数组编码为json字符串?
顺便说一句,从'Bemerkung'的未定义的字符串是为了在那里。
echo $ json = json_encode($ response); ? – Blueline
其中'var_dump()'? –
@Blueline nope .. – erri120