2016-06-14 6 views
-6

クエリがエラーを持っている:あなたのSQL構文mysqliので

$sql .= "INSERT INTO `vip_overrides` SET `user_id` = " . $max . ", `server_id` = " . $user['server_id'] . ", `group` = '" . $user['access'] . "', `expires` = " . $user['utime'] . ", `date_create` = " . $user['time'] . "; "; 

答え:

あなたのSQL構文でエラーが発生しています。 が近く を使用する権利構文についてはMySQLサーバのバージョンに対応していること取扱説明書をご確認ライン1

mysqli_queryでVIP ' '' vip_overrides SET user_id = 1、= 2 server_idgroupは=。INSERT INTO' 1つの文字列でmultyクエリを使用しないでください。 mysqli_multi_queryを使用してください。

+2

? – Thamilan

+0

を挿入してください。http://f6.s.qip.ru/cMfvWwUs.png – umprex

+0

このMAX()を使用すべきではありません。代わりに自動インクリメントを使用してください。 –

答えて

2

mysqli_queryを使用して複数のクエリを実行することはできません。

異なるクエリの場合は、個別に1つずつ実行します。

同じクエリではあるがデータが異なる場合は、準備済みの文を使用します。

+0

私はそれを知っていますが、私は同じエラーがあります – umprex

+0

私はあなたの不気味な発言から有用な情報を抽出することはできませんが、私は与えられた答えにもっと注意を払う必要があるという気持ちがあります。 –

+1

あなたはあなたが "それを知っている"と言っていますが、あなたのコードは異なっています。アファイクス、これは答えです。 –

1

@ YourCommonSenseが正しく、複数のコマンドをmysqli_queryと同じ呼び出しで実行することはできません。ただし、文字列ビルドを再編成して1つのコマンドだけを作成することはできます。

あなたはあなたの結果の$sql値としてこれを持っている:

INSERT INTO foo SET a = 1, b = 2; 
INSERT INTO foo SET a = 3, b = 4; 

変更あなたのコードは、それがこれを生成するために:

INSERT INTO foo (a, b) VALUES (1, 2), (3, 4); 
あなたが挿入または更新され
関連する問題