Fonction : execution de fichier sql

flagada42 Messages postés 15 Date d'inscription lundi 31 décembre 2001 Statut Membre Dernière intervention 23 juin 2003 - 18 juin 2003 à 08:50
charmed2 Messages postés 4 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 22 novembre 2006 - 28 mars 2006 à 00:33
function execute_fichier_sql($chemin)
{

// Ouverture du fichier contenant les requètes SQL
$file = fopen($chemin, "r");

//Tant que l'on est pas a la fin du fichier
while(!feof($file))
{
$sql = "" ;
$buffer = fgets($file, 2);
while($buffer != ";")
{
$sql = $sql.$buffer;
$buffer = fgets($file, 2);
}
$req = mysql_query($sql) or die("Erreur avec la requête $sql") ;
}
fclose($file);
}

Il y a une erreur car la boucle ne se termine pas ! il exécute bien les requêtes sql du fichier mais il ne ve pas s'arr^ter à la fin du fichier txt

2 réponses

Kenaghdar Messages postés 71 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 27 juin 2003 2
18 juin 2003 à 09:21
Hello,

La fonction feof() a un comportement un peu bizarre dans la mesure où elle retourne TRUE si une erreur survient, ce qui est plutôt bizarre. Donc, il vaut mieux tester le pointeur $file avant de rentrer dans la boucle. Ainsi que tester les codes erreurs au sein de ta boucle.

A+

Ken.
0
charmed2 Messages postés 4 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 22 novembre 2006
28 mars 2006 à 00:33
merci boucpoups
0
Rejoignez-nous