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


How to check data in mysql using limit?

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

当加载这个代码(will check data in row id 2)时,它是回显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";
?>

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

if(array)
    true;
   else
    false;

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

你的 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值。

仅供参考:如果查询返回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";

希望对您有所帮助。