Php:json_encode在字符串的开头返回NULL数组

时间:2015-08-22 17:29:35

标签: php android mysql dreamweaver

这是我的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数组。

2 个答案:

答案 0 :(得分:2)

除去

$emparray[] = array();

或将其作为

$emparray = array();

然后它会正常工作。

答案 1 :(得分:2)

当你写

之类的东西时
$foo[] = $something;

在php中,你要在数组的末尾添加一个元素。

$emparray[] = array();

你正在添加和数组作为第一个元素,因为$emparray之前没有被初始化,那是因为你在响应开始时得到一个空数组。

你应该改变

$emparray[] = array(); 

通过

$emparray = array();