这是我的Php代码。我是php的新手,我想得到JSON的正确回应。
$db_handle = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $db_handle )
{
die('Could not connect: ' . mysql_error());
}
else
$response["message"] = "Connected Succsessfully";
//echo json_encode($response);
$db_found = mysql_select_db($db, $db_handle);
// check for required fields
if($db_found)
{
// mysql inserting a new row
mysql_query('SET CHARACTER SET utf8');
$query = "SELECT * FROM users";
$result = mysql_query($query);
//iterate over all the rows
$emparray[] = array();
while($row = mysql_fetch_assoc($result)){
//iterate over all the fields
$emparray[] = $row;
}
echo json_encode($emparray);
这是我的回答:
[[],{"id":"1","username":"Liyari","password":"Karachi"},{"id":"12","username":"ssssss","password":"111111"},{"id":"121","username":"135","password":"Qasim"},{"id":"17","username":"nafees","password":"99999"},{"id":"134","username":"","password":""},{"id":"133","username":"","password":""},{"id":"135","username":"mustafa","password":"45612"},{"id":"131","username":"mustafa","password":"45612"},{"id":"132","username":"","password":""}]
问)为什么我在Response的开头得到null数组。
答案 0 :(得分:2)
除去
$emparray[] = array();
或将其作为
$emparray = array();
然后它会正常工作。
答案 1 :(得分:2)
当你写
之类的东西时$foo[] = $something;
在php中,你要在数组的末尾添加一个元素。
用
$emparray[] = array();
你正在添加和数组作为第一个元素,因为$emparray
之前没有被初始化,那是因为你在响应开始时得到一个空数组。
你应该改变
$emparray[] = array();
通过
$emparray = array();