Hallo,
ich habe ein Dump meiner MySQL-Datenbank von phpMyAdmin vorliegen. Diese möchte ich mittels mysql_query(); in eine neue DB einfügen.
Dazu habe ich es wie folgt versucht (Quelle: Google):
<?php
foreach ( file("mysql.sql") as $zeile) {
$result = mysql_query($zeile) or die ("Fehler:<br>".mysql_error()."<br><br>$Sql");
}
?>
Ausführen tut er es, jedoch gibt es einen Fehler:
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 '' at line 1
Warum? Hier die Antwort:
In der mysql.sql-Datei steht folgendes (nur der wichtigste auszug):
CREATE TABLE test
(
id
varchar(20) collate latin1_german1_ci NOT NULL default '',
Woran liegt es: Da die Zeile, die Ausgeführt wird ja 'CREATE TABLE test
(' ist, ohne 'id
varchar(20) collate latin1_german1_ci NOT NULL default '','.
Was kann ich tun, dass gleich alles ausgeführt wird und nicht nur Zeile für Zeile?
Gruß
Klaus