0

我从数据库中选择了过多的行。但是,当我尝试用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.");");
4

1 回答 1

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在查询中使用。

此外,您可能想阅读我不久前写的这个问答,它涵盖了许多基本的 SQL 查询并从那里扩展。

编辑:

如果您$weights在查询中,您确实将其设置在某处,或者您是否希望它成为您在此处显示的变量中的内容:

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

这是你的意思吗?

于 2013-09-01T05:42:17.860 回答