目前,我正在做一個車,我有下面我的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