Klaus: MySQL-Befehle aus Datei

Beitrag lesen

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