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