View Full Version : [PHP] Come caricare file .sql
Mitzuashi
23-03-2004, 17:34
Ciao ragazzi,
ho un dubbio forse abbastanza stupido.
Io ho un backup del database X fatto tramite shell dos di mysql (mysqldump). Allora, finchè si tratta di eseguire il restore del db in locale, nessun problema. Il problema sorge quando, devo eseguire il restore su un sito internet.
Vorrei sapere, siccome ovviamente i manteiner, non mettono a disposizione una shell dos (almeno credo), esiste un modo per caricare stò file .sql con php, o devo fare un'interfaccia che legga il file .sql ed esegua query per query???
Se non mi sono spiegato bene scusatemi, ma a volte non mi capisco neanche io.
Ciao e grazie
Fai una query di questo tipo: SOURCE percorso/nomedelfile.sql;
Mitzuashi
24-03-2004, 06:53
Cionci sei un drago.
Stò iniziando la tua statua nella piazza sotto casa.
Grazie mille.
Quando poi avrò finito il sito, posso disturbarti per chiederti di dargli un'occhiata e magari darmi qualche suggerimento???????
gabriele81
26-03-2004, 11:35
Scusate se mi intrometto ma la cosa interessa anche a me...
Ho salvato il mio database in un file chiamato db.sql con mysqldump e ho creato un file php per (cercare di) lanciarlo.
Nel php ho messo le istruzioni mysql_connect con i parametri appropriati e poi mysql_query("source 'db.sql'"); però quest'ultima va in errore.
I file php e sql sono nella stessa directory, ho provato anche a togliere gli apicetti dal nome del file ma salta comunque.
Che ho sbagliato? mysql_query deve essere per forza dopo una mysql_select_db? e se il db non c'è?
Probabilmente devi mettere il percorso completo del file...
gabriele81
31-03-2004, 18:29
Ho rifatto qualche prova ma non va...:muro:
Ho scritto questo codice:
$connessione = mysql_connect("localhost", "root", "") or die("Connessione non riuscita");
$query="SOURCE 'db.sql'";
mysql_query($query) or die ("Non funziona...".mysql_error());
mysql_close($connessione);
ma mi salta quando va a fare la query, mi dice "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 'SOURCE 'db.sql'' at line 1"
Il file db.sql sta nella stessa directory del file php, e l'ho copiato anche nella dir bin di mysql. Ho provato a mettere gli apicetti sia singoli che doppi, a mettere il percorso completo (C:\Programmi\ecc.), ma si blocca sempre lì.
Ho provato da console di mysql a digitare SOURCE db.sql ed ha funzionato alla prima botta...
Cacchio...mi sa che ho sbagliato parola chiave !! Ti faccio sapere...
Mi sa che SOURCE è un comando del client testuale di MySQL (infatti se provi funziona)... Non l'avevo mai usato da PHP...
Copia tutto il file in una stringa (con readfile) ed eseguilo come query... Dovrebbe andare...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.