我的php页面中有一条sql语句,看起来如下:
$places=array('CHI','DET','LA','NYC','DALLAS');
$SQL="SELECT NAME,
ID,
PHONE,
EMAIL,
LOCATION
FROM SHOPPERS
WHERE LOCATION IN '{$places}'
AND ID BETWEEN '25687' AND '28050'
";
然后,我将查询作为一个表进行回显,但没有得到任何结果,因为$places数组有问题。如有任何帮助,我们将不胜感激。感谢
您需要将其格式化为与SQL期望的内容友好:
$places=array('CHI','DET','LA','NYC','DALLAS');
$SQL="SELECT NAME,
ID,
PHONE,
EMAIL,
LOCATION
FROM SHOPPERS
WHERE LOCATION IN ('".implode("', '", $places)."')
AND ID BETWEEN '25687' AND '28050'
";
SQL where column in
子句需要在它们周围加括号,因此需要将它们添加进去,然后仍然需要将数组内爆为字符串。构造的SQL应该是这样的:
$SQL="SELECT NAME,
ID,
PHONE,
EMAIL,
LOCATION
FROM SHOPPERS
WHERE LOCATION IN ('CHI','DET','LA','NYC','DALLAS')
AND ID BETWEEN '25687' AND '28050'
";