Exécution d'un fichier SQL
Bonjour,
Souhaitant créer un module d'installation quasi automatisé, je me trouve bloqué lors de l'exécution d'un bout de code.
J'ai sans cesse l'erreur :
Instruction 0 : 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 '***
*** correspondant à la première ligne de mon fichier sql.
Je sais que mysql n'est censé gérer qu'une instruction à la fois, toutefois via le code ci-dessous, normalement, je devrais pouvoir exécuter toutes les créations/injections contenues dans le fichier sql ... non ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
include("../_connex.php"); //données de connexion.
$filename = "../sql/servers.sql"; //fichier à importer
$file = fopen($filename, "r"); //ouverture en mode lecture
$sql = fread($file, filesize($filename)); //vérification de la taille du fichier
fclose($file);
$inst = explode(";", $sql);
$n = count($inst); //nombre d'instructions à réaliser
for($i=0;$i<$n;$i++){ // limitation de la boucle
if(trim($inst[$i])!=""){
echo "Instruction $i : ";
mysql_query($inst[$i]) or die(mysql_error()); //execution des requetes présentes dans le fichier
echo "OK.<br>";
}
}
mysql_close(); //fermeture de la connexion |
Je précise que le contenu du fichier sql est opérationnel lorsque j'emploie phpmyadmin pour faire un import.
Une idée ?