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 ?
Je précise que le contenu du fichier sql est opérationnel lorsque j'emploie phpmyadmin pour faire un import.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Une idée ?
Partager