[SQL] *.sql Datei ausführen

hmmm ich könnte in vb was schreiben, eventuell, aber irgendwie is mir das zu aufwendig für so ein minimales problem ...


Machs doch einfach mit phpmyadin, FERTIG ^^

(Oder ner sql client software.... )
 
Mit VB wäre das problem auch nicht gelöst da es auch auf Linux Servern laufen muss.
Und wenn es eine einmalige sache wäre würde ich das auch importieren. Aber da es ein Installer wird sollte das auch automatisch laufen.
Es wird ja auch von keinem verlangt nach einem Setup alle Regestry einträge selber zu machen ;)

Grüße

tewes
 
hmm die kommentare herauszufiltern wäre kein Problem und bei den Zeilenumbrüchen kommts daraf an obs ein echter ist oder nur einer der wegen der Darstellung her angezeigt wird

PHP:
<?php
// Daten für die Datenbankverbindung
$dbhost = "host";
$dbuser = "user";
$dbpasswd = "passwort";
$dbname = "name";
$filename = "fname";
// Öffnen der Verbindung

$db_connection=mysql_connect($dbhost,$dbuser,$dbpasswd); 
@mysql_select_db($dbname) or die( "Unable to select database");


$lines = file ($filename);

// Durchgehen des Arrays und Senden des Qrys an die MySQL-Datenbank
foreach ($lines as $line_num => $line) {
    if ($line == "" or substr($line, 0, 2) == "--")
    {
      /*
      
      Bei Kommentaren oder Leerzeilen 
      Do nothing
      
      */
    }
    else
    {
      // DB-Füttern
      $result=mysql_query($line);        
      if (!$result) { 
        echo "Anfrage ($sql) konnte nicht ausgeführt werden : " . mysql_error(); 
        exit; 
      }
    }
}

// Aufräumen

mysql_free_result ($result); 
mysql_close ($db_connection);

?>

So hab Leerzeilen und Kommentar filtern lassen, sollte funktionieren, viel Spass.
 
Zuletzt bearbeitet:
Vielen Dank Epyx, ich werde es heute abend ausprobieren.

Grüße

tewes

Habs jetzt mal kurz angetest.
Bekomme da den Fehler:
Notice: Undefined variable: sql in C:\Programme\xampp\htdocs\WebCMS\web_root\htdocs\install\init.access.php on line 318
Anfrage () konnte nicht ausgeführt werden : Query was empty
 
Zuletzt bearbeitet:
Sorry für meine Abwesendheit, mein Rechner hat die Hufe hochgerissen und mein Netzteil hat nen Defekt. Werde es heue abend nochmal probieren. Hatte das Skript nicht getestet, werde aber ne Dummy-Table erzeugen und das Ganze nochmal durchlaufen lassen.
 
Versuch es doch mal so.

PHP:
mysql_query("SOURCE 'SQL/shop.sql'");

Imo ist Load Data Infile nur um Datensätze z.B. .csv Dateien in Tabellen einzufügen.


greetz
 
Hallo Rul3r,

habs probiert wie du geschrieben hast, nur bekomme ich den selben Fehler.

Grüße

tewes
 
Was steht denn in C:\Programme\xampp\htdocs\WebCMS\web_root\htdocs\install\init.access.php on line 318?
 
In Zeile 318 stand das mysql_query.

Habe das aber wieder gelöscht. Probier grade die einzelnen SQL Statements in einem Array zu speichern. Das einzigste problem ist das noch einige Kommentare drin stehen.
 
Hab in einem anderen Forum das hier gefunden:

PHP:
mysql_query( file_get_contents( "sqlfile.sql" ) );

Schau mal ob das funktioniert.
 
Zurück
Oben