目前,我正在做一个车,我有下面我的SQL查询的麻烦:查询语法不正确
$sql="SELECT * FROM component WHERE componentID IN (";
foreach($_SESSION['cart'] as $id => $value) {
$sql.=$id.",";
}
$sql=substr($sql, 0, -1).")";
$query=mysql_query($sql) or die(mysql_error());
所以我想与使用选择我的数据库项目,检查项目SESSION和一个foreach。代码循环遍历SESSION并将componentID添加到SELECT中,然后将其输入substr函数以删除最后一个逗号(例如,删除'001,002 * , *'。我确定语法是正确的,但是我不断得到一个语法错误是:
您的SQL语法错误;检查 对应于你的MySQL服务器版本正确的语法使用手动 附近“00004,00007)”在列1
任何人都可以看到我在这里做错了吗?
你能发布完整的SQL你试图执行? 'echo $ sql;' –
这些值是否真的是'00004'而不是4?左手零可以成为问题吗? – ethrbunny
['implode()'](http://www.php.net/implode)是您的朋友,可以将字符串与分隔符连接起来。 – ccKep