Unauffindbarer "Syntax Error"

daddz

Mitglied
Hallo!

Ich habe folgende Datenbankabfrage:
SQL:
INSERT IGNORE INTO
    `server_db`
   (`word`,
    `date`,
    `ownerID`)
VALUES
   ('WORT1',
    NOW(),
    '12');

INSERT IGNORE INTO
    `server_db`
   (`word`,
    `date`,
    `ownerID`)
VALUES
   ('WORT2',
    NOW(),
    '12');
Wenn ich diese Abfrage per PHP ausführe, also in meinem Script, dann bekomme ich einen Syntaxfehler:
MySQL hat gesagt.:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';

INSERT IGNORE INTO
`server_db`
(`word`,
`date`,
`ownerID' at line 9
Doch wenn ich die Abfrage z.B. bei phpMyAdmin ausführe, funktioniert es!

Ich habe schon alles ausprobiert aber bekomm es einfach nicht hin.

greetz
daddz
 
Danke! So funktioniert es!

Wieso lassen die sich nicht zusammen verschicken?

Zusammen wäre es besser, denn es müssen sehr viele Datensätze eingetragen werden.

Leidet die Performance darunter, wenn ich jedes einzeln eintrage oder macht das keinen Unterschied?

greetz
daddz
 
Lass mal probehalber die Zeilenumbrueche und Leerzeilen weg. Ich hatte mit DB2 UDB aehnliche Probleme und die waren danach weg.
 
Hallo,

daddz hat gesagt.:
Wieso lassen die sich nicht zusammen verschicken?
[phpf]mysql_query[/phpf] kann nur immer eine einzelne Abfrage verarbeiten, welche nicht mit einem Semikolon enden darf.

Man kann aber auch mehrere Zeilen mit nur einem einzelnen Query eintragen:
SQL:
INSERT IGNORE INTO
   `server_db`
   (`word`, `date`, `ownerID`)
VALUES
   ('WORT1', NOW(), '12'),
   ('WORT2', NOW(), '12'),
   ('WORT3', NOW(), '12'),
   ('WORT4', NOW(), '12'),
...

Grüße,
Matthias
 
Matthias Reitinger hat gesagt.:
Man kann aber auch mehrere Zeilen mit nur einem einzelnen Query eintragen(...)
Das ist ja interessant! Wusste ich bis jetzt garnicht.
Werde es nun mit deiner beschriebenen Methode machen.

greetz
daddz
 
Zurück