我从数据库中选择了过多的行。然而,当我尝试用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'])."'";
这就是你的意思吗?