私は現在、カートを作ってるんだと私は以下の私の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());
だから私は選択を使用して、私のデータベース項目とのセッションの項目をチェックしようとしていますとforeach。コードはSESSIONをループし、SELECTにcomponentIDを追加します。これは最後のカンマを削除するためにsubstr関数に取り込まれます(例えば '001,002 * 、 *'を削除します。ある構文エラーを取得しておいてください。
あなたのSQL構文でエラーが発生している。 が 近く使用する権利構文についてはMySQLサーバのバージョンに対応していること取扱説明書を確認してください「00004,00007)を」行で1
誰でも私がここで間違っているのを見ることができますか?
$sql .= implode(",", $_SESSION['cart']) . ")";
完全なコードは次のようになります:あなたはまた、ccKepが示唆するようにIDのカンマで区切られた一連の製造工程を簡略化することができ
:
あなたが実行しようとする完全なSQLを投稿することができますか? 'echo $ sql;' –
問題の値は4ではなく '00004'ですか?左手のゼロが問題になることはありますか? – ethrbunny
['implode()'](http://www.php.net/implode)は、文字列を区切り文字で連結するためのあなたの友人です。 – ccKep