在mysql中正确使用哪里?

时间:2012-06-12 22:06:23

标签: mysql where

我开始研究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命令过滤行显示。

该语法的正确用法是什么?

由于

3 个答案:

答案 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_querydeprecated,不鼓励使用。

答案 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子句本身以及如何正确使用和优化它的一些信息。

希望它有所帮助。