0

从 Android 应用程序中,该应用程序将查询 php 脚本并在 MySQL 数据库中查找新消息。
为了防止对数据的无意义使用,我实现了一个'if'语句,以检查数据库中的消息是否为空。如果消息为空,则不应响应 Android 应用程序。

我的问题和 php 代码:
未检测到 if 语句,它不断返回数据:

 <?php
 if($_REQUEST['pass'] == null){
     die("You Are Not Logged In");
 }

 $q=mysql_query("SELECT * FROM $tbl_name WHERE pass='".$_REQUEST['pass']."'");
 while($e=mysql_fetch_assoc($q)){
    $result1=$e['message'];

    ////Here the Message = 'No Message' but the Scrpit Continue ...

    if($result1 == 'No Message'){
       exit(0);
       die("No Message");
    }
    $output[]=$e;

    print(json_encode($output));

 }   

 if($_REQUEST['status'] != null){
     $sq2="UPDATE $tbl_name SET status='".$_REQUEST['status']."' WHERE  pass='".$_REQUEST['pass']."'";
 $result=mysql_query($sq2);
 }
 mysql_close();


 ?>
4

2 回答 2

0

您的查询不会返回任何内容,并且会mysql_fetch_assoc立即返回 false,从而跳过整个块。

于 2013-02-25T12:53:02.610 回答
-1

谢谢大家,问题通过使用解决

 if($result1 == ' '){
  exit(0);
  die("No Message");}

Logcat 说:message = null & 解析 Json 数据时出错,关于 SQL 注入,请注意...

于 2013-02-25T12:58:32.310 回答