我开始研究php和我的sql。
我不知道这段代码有什么问题。
$result = mysql_query("SELECT * FROM tbl where field1 (1,2,3)");
我收到此错误。
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in test.php on line 52
当我用此
替换该特定行时$result = mysql_query("SELECT * FROM tbl");
它工作正常,但它返回所有行。
我正在尝试使用mysql中的where命令过滤行显示。
该语法的正确用法是什么?
由于
答案 0 :(得分:4)
您需要IN
子句:
$result = mysql_query("SELECT * FROM tbl where field1 IN (1,2,3)");
此查询类似于:
SELECT * FROM tbl where field1=1 OR field1=2 OR field1=3
,请注意mysql_query
已deprecated,不鼓励使用。
答案 1 :(得分:0)
试试这个:
$result = mysql_query("SELECT * FROM tbl where field1 IN (1,2,3)");
答案 2 :(得分:0)
首先关闭..停止使用mysql扩展名,因为它已被弃用...
除此之外,您可以这样做:
$result = mysqli_query("SELECT * FROM tbl WHERE field IN (1,2,3)");
以下是其他几个不完全符合你个案的例子......
$result = mysqli_query("SELECT * FROM tbl WHERE date BETWEEN "2012-06-01 00:00:00" AND "2012-06-12 23:59:59");
http://dev.mysql.com/doc/refman/5.0/en/where-optimizations.html将为您提供有关WHERE子句本身以及如何正确使用和优化它的一些信息。
希望它有所帮助。