从php文件返回null数组


returning null array from php file

我正在使用从我的android应用程序发送一个值

httpClient,当我尝试时,我需要根据该值从DB中提取一行

它返回一个空数组(json数组),但如果我使用静态值,比如name,用于

示例:

 $result = mysql_query("SELECT * FROM table WHERE column= 'name'");

我成功地获得了数组,这是php文件,请帮助

<?php
$con = mysql_connect("localhost","user","pass"); 
if (!$con) {
    die("Could not connected".mysql_error());
} else {
    mysql_select_db("database",$con);
    if (!empty($_POST['value'])) {
      $value=$_POST['value'];
      $result = mysql_query("SELECT * FROM table WHERE column= '$value'");
      while ($row = mysql_fetch_assoc($result)) {
           $output[]=$row;
      }
      print(json_encode($output));
      mysql_close($con);
     }
}
?>

试试这个:

$output = array();
$i=0;
while($row = mysql_fetch_assoc($result))
{
  $output[$i]=$row;
  $i++;
}   
print(json_encode($output));

您必须在while循环之前创建数组,如下所示。

$output = array();

以下是您的正确代码,我假设您在post变量中获得了值。

<?php
$con = mysql_connect("localhost","user","pass"); 
if(!$con)
{
 die("Could not connected".mysql_error());
}
else
{
  mysql_select_db("database",$con);
  if(!empty($_POST['value']))
  {
   $value=$_POST['value'];
   $result = mysql_query("SELECT * FROM table WHERE column= '$value'");
   $output = array();
   while($row = mysql_fetch_assoc($result))
   {
     $output[]=$row;
   }
   print(json_encode($output));
   mysql_close($con);
  }
}
?>