如何在php中创建一个json对象

时间:2011-09-07 09:39:09

标签: php json

我在android和php工作。

我想从php程序返回一个json对象到android程序。

如果这些是数据库中的条目,那么它正常工作。但是当数据库中没有记录时就会出错。

我欢迎建议

我想像这样制作json对象([{“id”:“5”}])

这是我的php程序: -     

    $server = "localhost";
    $username = "root";
    $password = "";
    $database = "mymusic";

    $con = mysql_connect($server, $username, $password) or die ("Could not connect: " . mysql_error());
    mysql_select_db($database, $con);
     $id=$_GET["id"];
     $pass=$_GET["password"];
    //$id='ram';
    //$pass='ram';
    $sql = "SELECT id FROM login where userid='$id' and password='$pass'";
    $result = mysql_query($sql) or die ("Query error: " . mysql_error());

    $records = array();
    if (mysql_num_rows($result)==0)
     {
      //what should i right here to make jsonobject like this:- ([{"id":"5"}])
       echo myjsono;
     }
     else
     {
       while($row = mysql_fetch_assoc($result)) 
       {
         $records[] = $row;
       }
       echo $_GET['jsoncallback'] . '(' . json_encode($records) . ');';
     }

    ?>

3 个答案:

答案 0 :(得分:3)

这样的事情:(用你自己的变量替换)

if (empty($row)){
$arr = array('success' => 'false');
} else {
$arr = array('success' => 'true');
}
echo json_encode($arr);

答案 1 :(得分:0)

如果您希望您的Android应用程序在未找到条件的情况下接收具有特殊ID的对象,我会返回此信息:

{"id":"0"}

然后在你的Android应用程序中检查id == 0是否会告诉你没有找到记录。

答案 2 :(得分:0)

对于我的问题,这是非常正确的解决方案: -

$server = "localhost";
$username = "root";
$password = "";
$database = "mymusic";

$con = mysql_connect($server, $username, $password) or die ("Could not connect: " . mysql_error());
mysql_select_db($database, $con);
 $id=$_GET["id"];
 $pass=$_GET["password"];
//$id='ram';
//$pass='ram';
$sql = "SELECT id FROM login where userid='$id' and password='$pass'";
$result = mysql_query($sql) or die ("Query error: " . mysql_error());

$records = array();
if (mysql_num_rows($result)==0)
 {
  //  {"messages":{"message":[{"id":  "17","user": "Ryan Smith","text": "This is an example of JSON","time": "04:41"}]};}

  **echo '('.'['.json_encode(array('id' => 0)).']'.')';** //**note this**
 }
 else
 {
   while($row = mysql_fetch_assoc($result)) 
   {

     $records[] = $row;
   }
   mysql_close($con);
   echo $_GET['jsoncallback'] . '(' . json_encode($records) . ');';
 }

//mysql_close($con);

//echo $_GET['jsoncallback'] . '(' . json_encode($records) . ');';
?>