mysql_query失败后回显json_encode

时间:2015-06-22 12:43:40

标签: php android

我目前正在尝试开发一个与数据库通信的Android应用。我使用php脚本在我的应用程序和数据库之间进行通信。

出于错误处理的目的,我想知道我是否可以使用与json_encode类似的东西替换php中的die()函数,以便我可以向我的应用程序发送错误代码。

mysql_query(/*the query*/) or /* something like echo json_encode*/

编辑:这是我通常使用的一个例子,

$response['error1'] = "error in select query";

$result = mysql_query("SELECT id_product FROM `product`where id_category=$id_category") or die(mysql_error());

我尝试过类似的事情:

$result = mysql_query("SELECT id_product FROM `product`where id_category=$id_category") or die(echo json_encode($response));

它不起作用,我想知道是否还有其他我可以使用的东西。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您可以在结果上使用if。如果mysql_query()失败,则返回false:

$result = mysql_query(/*the query*/);

if(!$result){
  //Do stuff here, the query failed
  //json_encode()
} else {
  //Query succeeded
}

旁注:mysql_*已弃用,强烈建议您切换为mysqli_*PDO

答案 1 :(得分:0)

尝试此代码。生成JSON数组 loginsession

  $return_arr = array();

//here start while loop for Mysql 

    $row_array['uid']=$uid;         
    $row_array['uname']=$uname;     
    $row_array['email']=$email;
    $row_array['phone']=$phnumb;
    $row_array['birthday']=$dob;
    $row_array['address']=$address;                                     
    array_push($return_arr,$row_array);

// end your while loop

    echo json_encode(array('loginsession' => $return_arr));