SQL Datei mit PHP Importieren
errorist
- php
Ich möchte gern eine .sql Datei über den Browser ausführen.
Habe das leider so noch nie gemacht, sondern immer nur händisch über PHPMyAdmin.
Die SQL Datei wurde mit PHPMyAdmin erstellt und die INSERT etc Befehle gehen über mehrere Zeilen.
Könnte mir da jemand bitte bei helfen? Vielen Dank!
Hi,
wie und wieso?
Möchtest du im Browser die URL zu dieser .sql Datei aufrufen?
Ich glaube nicht, dass dies geht. Denn in der .sql Datei sind ja keinerlei Verbindungsinformationen abgelegt, diese kennt nur dein laufendes PHPMyAdmin.
Mach doch die Datei lokal mit einem Texteditor auf und kopier die Zeilen mit Copy & Paste in das Query Fenster von PHPMyAdmin.
Ciao, Frank
Hi,
wie und wieso?
Möchtest du im Browser die URL zu dieser .sql Datei aufrufen?
Ich glaube nicht, dass dies geht. Denn in der .sql Datei sind ja keinerlei Verbindungsinformationen abgelegt, diese kennt nur dein laufendes PHPMyAdmin.
Mach doch die Datei lokal mit einem Texteditor auf und kopier die Zeilen mit Copy & Paste in das Query Fenster von PHPMyAdmin.
Ciao, Frank
Hi,
da habe ich mich was umständlich ausgedrückt.
Ich möchte gerne eine PHP Datei, die ich aufrufe, die bewirkt, dass die SQL Datei eingespielt wird. Der USer sollte wenn möglich, nicht an den PHPMyAdmin müssen, Nur in der connect.inc die Zugangsdaten eingeben und dann das Script ausführen.
Du redest immer von der "SQL Datei" ... wo soll selbige denn liegen? Beim Browserbenutzer (sprich Client) oder auf dem Server -> dann müsste aber irgendwer sie auf den Server gepackt haben?
Wie soll der Benutzer in der connect.inc da die Zugangsdaten angeben? Die muss er ja quasi auch editieren können. Und diese von was auch immer inkludierte Datei muss ja dann auch auf dem Server liegen?!! Handelt es sich dabei um ein Eingabedialog so mit <form><input type="submit" /></form>? Ich denke mal eher nicht.
Vielleicht möchtest du ja folgendes bauen:
Ciao, Frank
Könnte mir da jemand bitte bei helfen? Vielen Dank!
schaun mer mal ...
Zuerst die Annahme, dass es um SQL-Dateien geht, die wie ein SQL-Dump aussehen.
Da haette ich hier etwas:
<?php
/* erste moegliche Worte eines SQL-Statements */
$MRK = array('USE', 'SET', 'LOCK', 'SHOW', 'DROP', 'GRANT', 'ALTER', 'UNLOCK', 'CREATE', 'INSERT', 'UPDATE', 'DELETE', 'REVOKE', 'REPLACE');
/* einlesen der SQL-Datei */
$SQL = file('my.demo.sql');
/* Startzustand herstellen */
$query = '';
/* Zeilen einzeln abarbeiten */
foreach($SQL as $line) {
/* Zeilenende bereinigen */
$line = trim($line);
/* erstes Wort separieren */
$AA = explode(' ', $line);
/* auf SQL-Start testen */
if (in_Array(strtoupper($AA[0]), $MRK)) {
/* erste Zeile definieren */
$query = $line;
} elseif (strlen($query) > 1) {
/* naechste Zeile anhaengen */
$query .= "\n".$line;
}
/* SQL-Ende erkennen */
$x = strlen($query) - 1;
if (substr($query,$x) == ';') {
/* fertiges Query anzeigen */
echo $query."\n\n";
/* Startzustand herstellen */
$query = '';
}
}
?>
Wie Du die ferigen Querys auf der Datenbank anwendest ist Dir ja bekannt.
Gruss Norbert