Ich habe eine große Menge an Daten, die aus einem PHP-Skript generiert werden und in eine Datenbank eingefügt werden müssen. Ich habe verschiedene Lösungen mit unterschiedlichen Ergebnissen ausprobiert, aber die aktuelle Lösung (und die, die ich für die beste halten sollte) ist, dass ich die Daten in einer CSV-Datei erzeuge und dann mit der folgenden Abfrage in die Datenbank einfüge:mysqli_query gibt false mit Fehlercode 0 zurück, aber die Abfrage ist erfolgreich
LOAD DATA LOCAL INFILE 'myfile.csv' INTO TABLE t1 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY "'"
ich benutze CodeIgniter als PHP-Framework, und nachdem die Abfrage im auf eine Fehlerseite umgeleitet ausgeführt hat, die nur sagt
Ein Datenbankfehler aufgetreten
Fehlernummer: 0
Es gibt keine Fehlermeldung oder irgendetwas.
Ich habe durch den Code trat aber alles, was ich finden kann, ist, dass mysqli_query()
false zurückgibt und später mysqli_errno()
0 zurück und mysqli_error()
einen leeren String zurück.
Allerdings, die Abfrage ist tatsächlich gelungen und wenn ich in die Datenbank schaue, kann ich sehen, dass alle Daten aus der CSV-Datei erfolgreich eingefügt wurden. Ist dieses Verhalten zu erwarten? Wenn ja, muss ich den CodeIgniter-Code ein wenig hacken oder direkt mysqli_query()
anrufen, anstatt das Framework zu durchlaufen.
Ich habe auch genau die gleiche Abfrage in MySQL Workbench ausgeführt, und ich bekomme dort keine Fehlermeldung.
Bitte zeigen Sie den Code, den Sie verwenden, um die Abfrage auszuführen –
Dies ist der Code $ this-> db-> query ($ query); – Johan
Nein, ich meine den vollständigen Codeblock einschließlich des Teils, an dem Sie die Fehlermeldung ausgeben. Sie können es in die Frage bearbeiten * Edit *: Ah, ich sehe, dass Sie CodeIgniter verwenden, der die Dinge wahrscheinlich ein bisschen schwieriger macht. Versuchen Sie dennoch, das zu veröffentlichen, was Sie können –