如何使用limit检查mysql中的数据?

时间:2015-01-19 03:21:35

标签: php mysql

如何使用限制检查mysql中的数据?

加载此代码(will check data in row id 2)时,它是echo requests field

为什么不回复not requests field

这是test_table:

________________________________
|  id  |  pro_id  |  requests  |
|  1   |  11111   |     0      |
|  2   |  12345   |     0      |
|  3   |  12345   |     0      |
|  4   |  12345   |     1      |
|__5___|__12345___|_____1______|

这是test_table中检查数据的php代码

<?PHP
    include("connect.php");
    $i = "0";

    $sql = "SELECT * FROM test_table WHERE pro_id = '12345' AND requests != '0' order by id asc limit $i,1";
    $query = mysql_query($sql);
    $result = mysql_fetch_array($query);
    if($result)
        echo "requests field";
    else
        echo "not requests field";
?>

2 个答案:

答案 0 :(得分:1)

因为$ result是结果集,所以它有0行

if(array)
    true;
   else
    false;

它将永远返回true。因为空数组永远不会等于FALSE;

答案 1 :(得分:1)

您的PHP脚本将生成类似SELECT * FROM test_table WHERE pro_id = '12345' AND requests != '0' order by id asc limit 0,1的查询 。查询输出将如下所示:

+----+---------+----------+
| id | prod_id | requests |
+----+---------+----------+
| 4  | 12345   | 1        |
+----+---------+----------+

那么,你的PHP脚本:

if($result)
    echo "requests field";
else
    echo "not requests field";

始终返回true值,因为您的具有特定条件的查询会找到一条记录,这意味着$result的值为true

  

FYI:如果查询返回empty array的空记录,它将返回   false

我假设你想知道,id=2记录在分配特定条件时是否存在。所以你可能会修改你的PHP脚本:

if($result){
   if($result["id"]==2) 
      echo "requests field";
   else
      echo "not requests field";
}
else
    echo "not requests field";

希望它有所帮助。