Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1489 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] execution fichier .sql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] execution fichier .sql

n°538494
gothico
Posté le 13-10-2003 à 17:32:40  profilanswer
 

Code :
  1. // Ouverture du fichier contenant les requètes SQL  
  2. $file = fopen($chemin, "r" );
  3. //Tant que l'on est pas a la fin du fichier  
  4. while(!feof($file))
  5. {
  6. $sql = "" ;
  7. $buffer = fgets($file, 2);
  8. while($buffer != ";" )
  9. {
  10. $sql = $sql.$buffer;
  11. $buffer = fgets($file, 2);
  12. }
  13. $req = mysql_query($sql) or die("Erreur avec la requête $sql" ) ;
  14. }
  15. fclose($file);


 
Problème : la boucle ne se termine pas ! Pourquoi?
Il exécute bien les requêtes sql du fichier mais il ne ve pas s'arréter à la fin du fichier txt.....  :pfff:


---------------
MOD : Mon PC silencieux  |  Topic Miranda IM
mood
Publicité
Posté le 13-10-2003 à 17:32:40  profilanswer
 

n°538522
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 13-10-2003 à 18:12:34  profilanswer
 

gothico a écrit :

Code :
  1. // Ouverture du fichier contenant les requètes SQL  
  2. $file = fopen($chemin, "r" );
  3. //Tant que l'on est pas a la fin du fichier  
  4. while(!feof($file))
  5. {
  6. $sql = "" ;
  7. $buffer = fgets($file, 2);
  8. while($buffer != ";" )
  9. {
  10. $sql = $sql.$buffer;
  11. $buffer = fgets($file, 2);
  12. }
  13. $req = mysql_query($sql) or die("Erreur avec la requête $sql" ) ;
  14. }
  15. fclose($file);


 
Problème : la boucle ne se termine pas ! Pourquoi?
Il exécute bien les requêtes sql du fichier mais il ne ve pas s'arréter à la fin du fichier txt.....  :pfff:  

c quelle boucle qui ne s'arrete pas ?Parce que la deuxieme boucle me semble une boucle infini car tu n'as pas marqué while($buffer != ";" && !feof($file))  
 
Je crois que ca viens de la. [:spamafote]


---------------
lecteur mp3 yvele's smilies jeux de fille
n°538536
Taz
bisounours-codeur
Posté le 13-10-2003 à 18:26:48  profilanswer
 

de toutes façons, c'est une mauvaise utilisation de feof

n°538542
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 13-10-2003 à 18:32:06  profilanswer
 

Taz a écrit :

de toutes façons, c'est une mauvaise utilisation de feof

c a dire ?


---------------
lecteur mp3 yvele's smilies jeux de fille
n°538547
Taz
bisounours-codeur
Posté le 13-10-2003 à 18:37:02  profilanswer
 

ben tu lis la doc ou fait une recherche sur le forum. dans tous ce qui est C et dérivés (donc PHP, C++, etc), il ne faut jamais utiliser feof pour détecter la fin de fichier puisque cette fonction est faite pour caractériser une erreur comme étant EOF

n°538552
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 13-10-2003 à 18:44:06  profilanswer
 

Taz a écrit :

ben tu lis la doc ou fait une recherche sur le forum. dans tous ce qui est C et dérivés (donc PHP, C++, etc), il ne faut jamais utiliser feof pour détecter la fin de fichier puisque cette fonction est faite pour caractériser une erreur comme étant EOF

ben en cours j'ai appris que feof c'etait pour detecter la fin d'un fichier  :heink:  
et puis dans la doc,il est bien dis que c'est pour savoir si c'est la fin du fichier:
http://fr3.php.net/manual/fr/function.feof.php


---------------
lecteur mp3 yvele's smilies jeux de fille
n°538568
Taz
bisounours-codeur
Posté le 13-10-2003 à 18:51:52  profilanswer
 

ben non, ton cours et faux, et la documentation est incomplète. n'utilise jamais feof, test le retour des tes fonctions de lecture

n°538575
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 13-10-2003 à 18:55:27  profilanswer
 

Taz a écrit :

ben non, ton cours et faux, et la documentation est incomplète. n'utilise jamais feof, test le retour des tes fonctions de lecture

mon prof a quand meme un bac +11 ,il sait ce qu'il dit  :sarcastic:  
 
sinon explique ce que j'ai mis en gras,car je vois pas ce que tu veux dire.


---------------
lecteur mp3 yvele's smilies jeux de fille
n°538584
Taz
bisounours-codeur
Posté le 13-10-2003 à 19:05:24  profilanswer
 

ton prof peut avoir fait 100ans d'études et se tromper
http://fr2.php.net/manual/en/function.fgets.php
 
feof est une fonction de caractérisation, pas de détection. on est pas en pascal. dans les langages à sémantique C, le drapeau eof est positionné uniquement à la première tentative de lecture infructueuse, ce qui provoque une erreur. libre à toi ensuite de caractérisé cette erreur qui peut être EOF

n°538587
*syl*
--> []
Posté le 13-10-2003 à 19:06:34  profilanswer
 

forummp3 a écrit :

mon prof a quand meme un bac +11 ,il sait ce qu'il dit  :sarcastic:

BAC+11 en quoi ? Lettres modernes ? [:ddr555]

mood
Publicité
Posté le 13-10-2003 à 19:06:34  profilanswer
 

n°538589
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 13-10-2003 à 19:08:45  profilanswer
 

Taz a écrit :

ton prof peut avoir fait 100ans d'études et se tromper
http://fr2.php.net/manual/en/function.fgets.php
 
feof est une fonction de caractérisation, pas de détection. on est pas en pascal. dans les langages à sémantique C, le drapeau eof est positionné uniquement à la première tentative de lecture infructueuse, ce qui provoque une erreur. libre à toi ensuite de caractérisé cette erreur qui peut être EOF

j'ai jamais fait de pascal,je fais du C.


---------------
lecteur mp3 yvele's smilies jeux de fille
n°538590
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 13-10-2003 à 19:09:00  profilanswer
 

*Syl* a écrit :

BAC+11 en quoi ? Lettres modernes ? [:ddr555]  

informatique [:spamafote]


---------------
lecteur mp3 yvele's smilies jeux de fille
n°538630
drasche
Posté le 13-10-2003 à 19:56:11  profilanswer
 

forummp3 a écrit :

mon prof a quand meme un bac +11 ,il sait ce qu'il dit  :sarcastic:  


attention, un diplôme ne dispense en aucune manière de la connerie, ce n'est pas une insinuation mais une vérité en général.
 
C'est pas parce que ton prof à bac+11 qu'il a les bonnes habitudes hein.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°538664
Hermes le ​Messager
Breton Quiétiste
Posté le 13-10-2003 à 21:03:11  profilanswer
 

De toutes manières, il y a une chose que tous les étudiants en info devraient se foutre dans la tête :
 
L'info est en constante évolution et évolue en particulier bcp plus vite que les programmes de cours. Ce que le prof a appris il y a 11 ans est différent de ce que l'on apprend maintenant par exemple (même si les bases n'ont pas réellement évoluées).
 
Bref, un expert en php par exemple n'a surement pas 11 ans d'expé derrière lui.

n°538671
Taz
bisounours-codeur
Posté le 13-10-2003 à 21:17:27  profilanswer
 

sauf que ceci est inhérant au C depuis toujours

n°538679
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 13-10-2003 à 21:24:23  profilanswer
 

bon ben alors ca veux peut etre dire qu'il veux nous aprendre une facon "facile" de lire dans un fichier,car peut etre que votre solution est plus compliqué,ou bien ne fait pas partit du programme de bts (he oui,faut pas oublier qu'a la fin de l'année ya un examen  sur le programme officiel et non sur les conseils de taz).
C'est un peu comme si l'on m'aprennais le html en bts et qu'il y en ai un qui arrive et qui me dit que mon code n'est pas w3c compliant.Ca veux pas dire que le prof est a la ramasse ou quoi que ce soit mais que c'est tout simplement pas dans le programme et que c trop "pointu" .
voila [:spamafote]


---------------
lecteur mp3 yvele's smilies jeux de fille
n°538683
Taz
bisounours-codeur
Posté le 13-10-2003 à 21:30:12  profilanswer
 

je vois pas en quoi  
 
while(fgets())
{} est plus compliqué qu'un while !feof buggé qui peut potentiellement oublié des caractères ...
 
c'est pas une histoire de « faire plaisir à taz » ou pas faire comme le prof : si t'as un prof qui à un putain d'accent d'afrique du nord, tu vas te mettre à parler comme lui parce qu'il prononce comme ça...  
 
le prof est à la ramasse .| si t'es pas capable de comprendre ça : certains sont des chercheurs, d'autres ne font que de la modélisation, d'autres encore des pédagogues, mais la plus part ne savent pas coder, ne savent pas lire une doc
 
si t'apprends pour faire plaisir au prof, t'es pas sorti... si tu comptes tirer toutes tes connaissances de ton prof, non plus. alors fait plutot la remarque à ton professeur et regarde sa réaction.

n°538691
Hermes le ​Messager
Breton Quiétiste
Posté le 13-10-2003 à 21:33:52  profilanswer
 

forummp3 a écrit :

bon ben alors ca veux peut etre dire qu'il veux nous aprendre une facon "facile" de lire dans un fichier,car peut etre que votre solution est plus compliqué,ou bien ne fait pas partit du programme de bts (he oui,faut pas oublier qu'a la fin de l'année ya un examen  sur le programme officiel et non sur les conseils de taz).
C'est un peu comme si l'on m'aprennais le html en bts et qu'il y en ai un qui arrive et qui me dit que mon code n'est pas w3c compliant.Ca veux pas dire que le prof est a la ramasse ou quoi que ce soit mais que c'est tout simplement pas dans le programme et que c trop "pointu" .
voila [:spamafote]


 
Ben si, ça veut dire qu'il est à la ramasse. Encore que des mecs en entreprise n'ai pas le temps de se soucier des normes et soient obligés par exemple de travailler dans l'urgence en collaboration avec des mecs pour qui HTML rime avec WYSIWYG, ça peut se comprendre.
Mais un prof qui apprendrait le HTML 'hors normes', serait comme un prof de lettre qui t'apprendrait à écire en faisant des fautes de grammaire ou d'orthographe.

n°538694
Taz
bisounours-codeur
Posté le 13-10-2003 à 21:35:37  profilanswer
 

amen

n°538809
omega2
Posté le 13-10-2003 à 23:13:36  profilanswer
 

En DUT, on avait eu a faire un programme en C++ avec un compilateur qui n'était pas conforme ausx normes du language. Résultat ceux qui ont fait comme c'était indiqué dans les court ont fait un programme juste mais qui ne compilait même pas avec les compilateur qu'on avait le droit d'utiliser et ceux qui ont ffait un programme qui marchait été juste ceux qui avait enus comptes du compilateur en question.
 
Ce que j'en ai retiré, c'est que c'est bien beau de faire comme le prof le dit, mais que quand tu seras dans une société, c'est pas ça qui te donera raison face au client. L'escuse du "mais c'est le compilateur qui est défaillant" ne tiendra pas face a un client. (ni face au patron d'ailleur)

n°538842
Taz
bisounours-codeur
Posté le 13-10-2003 à 23:48:28  profilanswer
 

n'importe quoi ...

n°538896
omega2
Posté le 14-10-2003 à 00:33:29  profilanswer
 

Taz : T'as peut être eu la chance de ne jamais tombé sur des compilateurs un peu laxiste voire je m'enfoutistes par rapports aux normes mais c'est pas le ccas de tout le monde. Quand aux prof, ceux que j'ai eu ont essayé de nous donner des bases solides, mais dans le cas dont j'ai parlé, le prof n'avait jamais regardé si le compilateur qui était a notre disposition ce comportait bien ccomme il ce qu'il pensait. Ca ne veut en rien dire que le prof était nul ou qu'a lépoque j'étais incapable de taper du code sur un PC. Ca veut juste dire qu'entre ce qu'attendait le prof et ce qu'était affiché a l'écran, il falait choisir. A l'époque j'ai choisis d'être conforme à la machine ce qui m'a couté quelques points mais au moins, je voyais à l'écran le résultat qu'était demandé et pas une liste de messages d'erreur et de warning.
Maintenant, si tu veux me prendre pour un mytho qui essayes de ce faire passé pour un martir, alors libre a toi de le penser, moi je sais ce que j'ai vécus.

n°538901
Taz
bisounours-codeur
Posté le 14-10-2003 à 00:37:55  profilanswer
 

vous me faites bien rire avec vos histoires d'être conforme à la machine ou de faire plaisir à votre compilateur.
 
 
le cas présent, l'erreur que je signale -> sa solution n'implique aucune erreur d'interprétation et le comportement résultant est cette fois correcte.
 
bon, je vous note tous dans mes signets pour la prochaine fois ou postez un "fgets déconne, j'arrive à lire la dernirèe ligne" ou des trucs dans ce genre. à bon entendeur salut

n°538908
omega2
Posté le 14-10-2003 à 01:14:52  profilanswer
 

Dit moi donc a quel moment j'ai dit que ta solution était pas la bonne.
J'apportes un exemple pour qu'il ccomprenne qu'il faut savoir ne pas faire exactement comme les profs le disent et toi tout ce que tu trouves d'intéressant, c'est te foutre de moi.
Et entre nous, je me demandes bien lequel de nous deux sera le premier à demander de l'aide sur ce forum pour un problème a la con en PHP.
D'aillieur, je me demandes depuis combien de temps je l'ai plus fait, faudrait que je vérifies. ;)

n°538943
Taz
bisounours-codeur
Posté le 14-10-2003 à 07:31:04  profilanswer
 

je fais pas de PHP :o

n°538980
gothico
Posté le 14-10-2003 à 09:55:20  profilanswer
 

:heink:  
He ben, ca discute fort sur ma question :D
 
En tout ka, mon pb est résolu, merci   [:ddr555]  
 
 
---------------------------
string  fgets ( resource   handle , int   length )
fgets retourne la chaîne lue jusqu'à la longueur length - 1 octet, ou bien la fin du fichier, ou encore un retour chariot (le premier des trois qui sera rencontré).  
 
Si une erreur survient, fgets retourne FALSE .  
 
Erreur courante :  
 
Les programmeurs habitués à la programmation 'C' noteront que fgets ne se comporte pas comme son équivalent C lors de la rencontre de la fin du fichier.


Message édité par gothico le 14-10-2003 à 09:57:01

---------------
MOD : Mon PC silencieux  |  Topic Miranda IM
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] execution fichier .sql

 

Sujets relatifs
[C++][Résolu]Recupérer la taille d'un fichier de plus de 4 Gocreer un fichier excel avec macro en java
Pb passage BdD a CSV (en PHP)[PHP] Internationalisation, meilleure technique pour un petit site?
[PHP] Gros PB avec getimagesize HELP !!![C] Fonction fprintf et fichier formaté: j'ai du mal :/
[ Web / C / Linux / Php ] Une foule de questions...[PHP] un script pour récupérer des infos sur Allocine ?
[PHP]Erreur bizarre $x*0..$yPHP: execution d'un fichier sur un serveur distant...
Plus de sujets relatifs à : [PHP] execution fichier .sql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR