过滤MySQL查询。 “AND”运算符

时间:2013-09-01 05:40:42

标签: php mysql

我从db中选择了过多的行。但是,当我尝试使用AND lt_num过滤数据时,它根本不会选择任何内容。可能是什么问题?

$w = $_POST['pal_num'];
$w = "'".implode("','",$_POST['pal_num'])."'";
$r = mysql_query("SELECT * FROM pl_tab WHERE pal_num AND lt_num in (".$weights.");");

1 个答案:

答案 0 :(得分:0)

我的猜测是你需要进行两次这样的比较:

SELECT 
    * 
FROM 
    pl_tab 
WHERE 
    pal_num in (".$weights.")
    AND lt_num in (".$weights.");

例如,你不能说column1 and column2 = 3。如果您想要两者都等于3的行,则需要在查询中使用column1=3 and column2=3

此外,您可能希望暂时读取this Q&A that I wrote,其中包含许多基本SQL查询并从那里进行扩展。

编辑:

如果查询中有$weights,您可以将其设置在某处,或者您希望它是您在此处显示的变量中的内容:

$weights = $_POST['pal_num'];
$weights = "'".implode("','",$_POST['pal_num'])."'";

这是你的意思吗?