MySQL-Export Datei mit PHP wieder einbinden

Ich habe meine Tabelle mittels Export exportiert (in PHPMyAdmin) in eine Ansi Datei.

Nun möchte ich in PHP diese Daten wieder in die Tabelle einlesen, wie funzt dat (mit einem MySQL-Befehl)?

Gruß Wizard of War

Hi,

Ich habe meine Tabelle mittels Export exportiert (in
PHPMyAdmin) in eine Ansi Datei.

Nun möchte ich in PHP diese Daten wieder in die Tabelle
einlesen, wie funzt dat (mit einem MySQL-Befehl)?

Das Exportierte sind bereits MySQL-Befehle, das heißt du kannst die ganze Datei in PHP als String einlesen und mittels mysql_query($meinString) wieder importieren - oder du verwendest dazu einfach wieder PHPMyAdmin und wählst „Datei Laden“ (oder wie das heißt).

Gruß Wizard of War

Wie schön, es gibt noch Leute mit einfallsreichen Namen :wink:

bye,
Christoph

Hi auch,

Das Exportierte sind bereits MySQL-Befehle, das heißt du
kannst die ganze Datei in PHP als String einlesen und mittels
mysql_query($meinString) wieder importieren

Ich möchte ja eben den String aus der Datei auslesen lassen und ausführen lassen, mittels eines SQL-Befehls in PHP, also ungefähr so:
$Result = dbquerry(„update db from mysqlfile.txt“);

  • oder du
    verwendest dazu einfach wieder PHPMyAdmin und wählst „Datei
    Laden“ (oder wie das heißt).

Jo darauf wär ich auch gekommen, ich will es ja automatisch machen lassen :smile:

Gruß Wizard of War

Hi,

Ich möchte ja eben den String aus der Datei auslesen lassen
und ausführen lassen, mittels eines SQL-Befehls in PHP, also
ungefähr so:
$Result = dbquerry(„update db from mysqlfile.txt“);

und wo ist jetzt dabei das Problem?

$meinBackup = file(„mysqlfile.txt“); // Ich hoff es hieß file() :wink:
$Result = mysql_query($meinBackup);

Wenn mysqlfile.txt von PHPMyAdmin erstellt wurde, funktioniert das ohne Probleme.

bye,
Christoph

Hi,

$meinBackup = file(„mysqlfile.txt“); // Ich hoff es hieß
file() :wink:
$Result = mysql_query($meinBackup);

Leider funzt das nicht, weder so:
$meinBackup = file(„mysqlfile.txt“);
noch so:
$meinBackup = „file(‚mysqlfile.txt‘)“;

Gibs irgendwo online ne komplette Befehlsliste von MySQL?

Wizard of War

Verwende mel statt

$meinBackup = file('mysqlfile.txt');
$Result = mysql\_query($meinBackup);

dies

$meinBackup = file("mysqlfile.txt");
$Result = mysql\_query($meinBackup) or die("Fehler:
".mysql\_error()."

$Sql");

Vielleicht hilft dir die Fehlerausgabe weiter, sonst kannst du diese hier ja posten :wink:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi

Verwende mel statt

$meinBackup = file(‚mysqlfile.txt‘);
$Result = mysql_query($meinBackup);

dies

$meinBackup = file(„mysqlfile.txt“);
$Result = mysql_query($meinBackup) or
die("Fehler:
„.mysql_error().“

$Sql");

Vielleicht hilft dir die Fehlerausgabe weiter, sonst kannst du
diese hier ja posten :wink:

Dort habe ich leider ein Problem, denn die Ausführung des mysql_query geschieht an einem Ort wo ich nicht rankomme, also mit Fehlerausgabe ist da nicht viel.
Ich kann wie gesagt nur $meinBackup bearbeiten.

Gruß Wizard of War

Hi Lucifer,

ich habs jetzt an anderer Stelle mal ausprobiert, hier der Code:

$inf = file("news\_feeds.sql");
$result = mysql\_query($inf) or die ("Fehler:
".mysql\_error()."

$Sql");

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 ‚Array‘ at line 1

So, und nun? Schlau werd ich da draus nicht.
Was ist denn $inf für ein Datentyp?
Ich dachte das müsste immer ein String sein, denn was soll mysql_query sonst ausführen?

Aber selbst als String klappts nicht:

$inf = "file('news\_feeds.sql')";
$result = mysql\_query($inf) or die ("Fehler:
".mysql\_error()."

$Sql");

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 ‚file(‚news_feeds.sql‘)‘ at line 1

Und mit Semikolon am Ende des Strings klappts auch nicht

$inf = "file('news\_feeds.sql');";
$result = mysql\_query($inf) or die ("Fehler:
".mysql\_error()."

$Sql");

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 ‚file(‚news_feeds.sql‘)‘ at line 1

Irgendwelche Ideen?
Gruß Wizard of War

Aber selbst als String klappts nicht:

$inf = „file(‚news_feeds.sql‘)“;
$result = mysql_query($inf) or die
("Fehler:
„.mysql_error().“

$Sql");

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 ‚file(‚news_feeds.sql‘)‘ at line 1

wie kommst du eigentlich immer auf die idee funktionsaufrufe in quotes zu setzen?! davon wird nix besser…
die fehlemeldung bedeutet, dass in $inf kein sql-statement steht. kann acuh nciht, da file ein arrayy zurückgibt.

foreach ( file('news\_feeds.sql') as $zeile)
 {
 echo "$zeile
";
 $result = mysql\_query($zeile) or die ("Fehler:
".mysql\_error()."

$Sql");
 }

Hi Dog.je

wie kommst du eigentlich immer auf die idee funktionsaufrufe
in quotes zu setzen?! davon wird nix besser…

Sorry, ich dachte file sei ein MySQL Befehl, daher war ja auch meine Frage was $inf für ein Datentyp sein soll.
Ich bin leider ein totaler PHP Noob, bitte verzeih mir daher meine Unwissenheit.

die fehlemeldung bedeutet, dass in $inf kein sql-statement
steht. kann acuh nciht, da file ein arrayy zurückgibt.

foreach ( file(‚news_feeds.sql‘) as $zeile)
{
echo "$zeile
";
$result = mysql_query($zeile) or die
("Fehler:
„.mysql_error().“

$Sql");
}

Jo das funzt, löst aber nicht mein Problem.
Wie gesagt kann ich nur SQL-Statements ausführen (obwohl, mir kommt grad ne Idee…), ich dachte es gibt vielleicht einen SQL-Befehl der eine Ansi-Datei einliesst und die Befehle darin abarbeitet, scheint wohl nicht der Fall zu sein.

Ok, dann versuchen wir es anders, dann packe ich nur die Daten der Tabelle in ein CSV-File und lasse das dann von SQL einlesen, müsste ja irgendsowas wie import local file oder so sein.

Gruß Wizard of War