Seite 1 von 1

PHP: .sql-Dateien benutzen

Verfasst: Do Aug 11, 2011 12:58 pm
von naums
Hallihallöchen,

Ich schreibe grade nen "Installer" für ein Homepage-Projekt, allerdings stolpere ich grade über die .sql-Datei, die mir der PHPMyAdmin exportiert. Wie kann ich die in meinen PHP Skripts verwenden. Ich will die Datei einlesen und auf eine Datenbank anwenden.

Mein jetziger Ansatz (der allerdings mit ner $db->error Fehlermeldung beendet):

Code: Alles auswählen

            $sql=fopen(__DIR__."/install/hpag_database.sql","r");
            $query=fread($sql,filesize(__DIR__."/install/hpag_database.sql"));
            $db->query($query);
Wie also kann ich .sql-Dateien benützen?

MfG naums

Re: PHP: .sql-Dateien benutzen

Verfasst: Do Aug 11, 2011 1:38 pm
von Xin
Query frisst per Default soweit ich weiß nur einen Befehl.
Ich glaube, damit es mehrere Befehle frisst, muss man es umkonfigurieren oder einen anderen Query-Befehl nutzen.

Die zeilenweisen Kommentare sind ja kein "Query" und ich glaube, dass man Query() erst darauf konfigurieren muss, sich zeilenweise durch den übergebenden Befehl zu hangeln.

Dies ist eine Vermutung, so ein Klingeln im Hinterkopf, kein fundiertes Wissen.^^

Re: PHP: .sql-Dateien benutzen

Verfasst: Do Aug 11, 2011 4:17 pm
von naums
wie wäre der andere Query-Befehl? ^^

Re: PHP: .sql-Dateien benutzen

Verfasst: Do Aug 11, 2011 4:36 pm
von nouseforname
Ich zitiere mal einfach einen link:

http://www.huschi.net/12_138_de-mysql-d ... xport.html

Er macht das über shell_exec.

oder ähnlich

Code: Alles auswählen

system("mysql -l username datenbank < bla.sql"); 

Alternativ dazu wäre in dem dump eigene Trennzeichen zu verwenden und diese dann mir "explode" wieder zu benutzen.

Re: PHP: .sql-Dateien benutzen

Verfasst: Do Aug 11, 2011 4:41 pm
von naums
Bei dem ersten sehe ich schon das problem, dass mysql als Befehl auf dem System vorhanden sein muss. Windows wäre damit raus. Und eigentlich will ich dass mein Skript platformübergreifend läuft.

Deine zweite Möglichkeit... muss ich erstmal ausprobieren....

MfG Naums

Re: PHP: .sql-Dateien benutzen

Verfasst: Do Aug 11, 2011 4:58 pm
von nouseforname
naums hat geschrieben:Bei dem ersten sehe ich schon das problem, dass mysql als Befehl auf dem System vorhanden sein muss. Windows wäre damit raus. Und eigentlich will ich dass mein Skript platformübergreifend läuft.

Deine zweite Möglichkeit... muss ich erstmal ausprobieren....

MfG Naums
Mysql muss doch sowieso auf dem entsprechenden System vorhanden sein.
Dann muss man eben in einer config den Pfad angeben.

Aber mal anders gefragt. Warum machst Du keine eigene Query zum erstellen dessen was du machen willst? So ist das zumindest üblich. Somit kannst Du ja zumindest "default" Werte direkt eintragen. Was ja meistens Ausreichend ist.
Also in der "install.php" Die DB mit default-Werten füllen.

Kannst auch mal schauen wie die das machen:
http://www.mysqldumper.de/

Re: PHP: .sql-Dateien benutzen

Verfasst: Do Aug 11, 2011 5:01 pm
von naums
So mach ich das ja. Aber ich werde die Seite BETA_Testen, auf nem webserver, und weil ich wenn ich Änderungen zuhause gemacht habe, die $DB gerne weiternutzen möchte, so weit wie das möglich ist, brauch ich einfach nur eine SQL-Datei zu kopieren und Install neu auszuführen und fertig isses.

Deine Methode klappt, danke :)

MfG naums