如何使用限制检查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";
?>
答案 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";
希望它有所帮助。