2016-06-14 8 views
-6

Abfrage:Sie haben einen Fehler in der SQL-Syntax 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'] . "; "; 

Antwort:

Sie haben einen Fehler in Ihrer SQL-Syntax; das Handbuch, dass zu Ihrer MySQL-Server-Version entspricht, die für die richtige Syntax in der Nähe zu verwenden 'INSERT INTO vip_overrides SET user_id = 1, server_id = 2, group = 'vip',' at line 1

mysqli_query funktioniert nicht mit multiy Abfrage in einer Zeichenfolge Verwendung mysqli_multi_query

+2

Sie Einfügen oder die Aktualisierung? – Thamilan

+0

einfügen http://f6.s.qip.ru/cMfvWwUs.png – umprex

+0

Sie sollten diese MAX() - Sache nicht verwenden. Verwenden Sie stattdessen Autoinkrement. –

Antwort

2

Sie können nicht mehrere Abfragen mit mysqli_query ausführen.

Wenn es sich um andere Abfragen handelt, führen Sie sie einzeln nacheinander aus.

Wenn dieselbe Abfrage, aber mit anderen Daten verwendet wird, verwenden Sie eine vorbereitete Anweisung.

+0

ich weiß es, aber ich habe denselben Fehler – umprex

+0

Obwohl ich keine nützlichen Informationen aus Ihren lakonischen Bemerkungen extrahieren kann, aber ich habe das Gefühl, dass Sie mehr Aufmerksamkeit auf die gegebenen Antworten geben müssen. –

+1

Sie sagen, Sie "wissen es", aber Ihr Code sagt anders. Afaics, das ist die Antwort. –

1

@IhrCommonSense hat recht, Sie können nicht mehrere Befehle in demselben Aufruf an mysqli_query ausführen. Sie können jedoch Ihre String-Erstellung neu organisieren, um nur einen Befehl zu erzeugen.

Sie haben dies als Ihre resultierende $sql Wert:

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

Ändern Sie den Code es, dies zu machen produzieren:

INSERT INTO foo (a, b) VALUES (1, 2), (3, 4); 
Verwandte Themen