我从数据库中选择了过多的行。但是,当我尝试用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.");");
我的猜测是您需要像这样进行两次比较:
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'])."'";
这是你的意思吗?