Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 17.05.2008, 08:48
wolf1985 wolf1985 ist offline
Supporter
neuer user
Thread-Ersteller
 
Registriert seit: 11.02.2008
Ort: CH-8957 Spreitenbach
Beiträge: 46
wolf1985 befindet sich auf einem aufstrebenden Ast
Standard SQL Export und Import - Probleme

Hallo Zusammen

Das erste Problem habe ich somit gelöst, dass ich die Export-Funktionen lediglich auf eine einzelne, externe PHP-Datei versetzt habe.

Dann das nächste Problem:

DIE IMPORT-Funktion sieht bei mir folgendermassen aus (die Formularfelder, also das Durchsuchen-Feld hab ich nicht angegeben, da der Upload ja normal funktioniert!)
PHP-Code:
//Wiederherstellen eines Backups (SQL-File)
            
$filepath $_SERVER['DOCUMENT_ROOT']."/intern_dbs/sql_temp/";
            
$des_file strtolower($filepath.$_FILES['sql_file']['name']);
            if(
move_uploaded_file($_FILES['sql_file']['tmp_name'], $des_file)) {

            
//Herstellen der DB Verbindung
            
$connectionid_b  mysql_connect ($db_host$db_user$db_pass);
            if (!
mysql_select_db ($db_name$connectionid_b))
            {
              die (
"<font color=red size=3><b>Datenbankverbindung fehlgeschlagen!</b></font><br />Konnte Backup nicht durchführen.<br /><br /><a href=\"".$_SERVER['PHPSELF']."?op=reback&make=default\" target=\"_self\" style=\"color:blue;\">[ <b>Zurück</b> ]</a>");
            }

            
//Ausführen der SQL-Datei (IMPORT)
            
$sql "source ".$des_file;
            
mysql_query($sql) OR die(mysql_error());

            
//Schliessen der DB-Verbindung
            
mysql_close($connectionid_b);

            
//Hochgeladene Datei vom Server (aus Sicherheitsgründen) wieder entfernen
            
$tmp_sql_file $des_file;
            
unlink($tmp_sql_file);

            
//Erfolgsmeldung
             
echo '<b>IDB / ODBS - Backup - Wiederherstellung</b><hr /><br />
            Das Backup wurde <font color=green><b>erfolgreich</b></font> durchgeführt!<br />
            Aus Sicherheitsgründen wurde die Datei wieder vom Server entfernt.<br /><br />
            <b>BK-File-Report:</b> <i>'
.$_FILES['sql_file'].'</i><br /><br />
            <a href="index.php" target="_self" style="color:blue;">[ <b>Zurück</b> ]</a>'
;
            } else {
            
//Misserfolg
            
echo '<b>IDB / ODBS - Backup - Wiederherstellung</b><hr /><br />
            Wiederherstellung <font color=red><b>fehlgeschlagen</b></font>!<br />
            Die ausgewählte SQL-Datei existiert nicht oder es ist in Fehler aufgetreten.<br />
            <a href="'
.$_SERVER['PHPSELF'].'?op=reback&make=default" target="_self" style="color:blue;">[ <b>Zurück</b> ]</a>';
            } 
Das Problem ist hier, sollte die SQL Datei normal sein wie jede ander auch, dass beim Upload der Dateiinhalt auf eine einzige Zeile rutscht, obwohl das in der Originaldatei nicht so aussieht sondern mehrzeilig ist. Genau deshalb bekomme ich dann beim Upload ein FATAL ERROR von SQL zurückgeliefert, der in Zeile 1 stehen soll..

Zeile 1 ist ja das # vordran. Ja, lade ich die Datei über phpMyAdmin hoch (da SQL FIle ja Mehrzeilig ist) gehts ohne Fehler.

Woran liegt das denn am Upload?? Kann man irgendwie ererichen das beim Fileupload der Dateiinhalt .- sofern dieser mehrzeilig ist - auch mehrzeilig beibehalten wird?

Gruss
Wolf

Geändert von wolf1985 (18.05.2008 um 10:51 Uhr)
Mit Zitat antworten
Sponsored Links