Page 1 sur 1

[RESOLU] Questions sur mysql_free_result() et mysql_close()

Posté : 05 mars 2008, 17:04
par zest
Salut,

Quelques questions sur: mysql_free_result() , mysql_close().
- Doit-on impérativement les utiliser ou peut-on s'en passer?
- Si oui pourquoi ?
- Dans une page PHP avec plusieurs requêtes, où les positionner ?
- Sont-elles gênantes dans les include ou require ?

Merci

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Posté : 05 mars 2008, 17:34
par d0m
Salut,

pour ce qui est de mysql_free_result, le manuel dit :
mysql_free_result() n'est à appeler que si vous avez peur d'utiliser trop de mémoire durant l'exécution de votre script. Toute la mémoire associée à l'identifiant de résultat sera automatiquement libérée.
donc non tu n'es pas obligé.

mysql_close :
L'utilisation de mysql_close() n'est pas habituellement nécessaire, puisque les connexions non persistantes ouverts sont automatiquement fermées à la fin l'exécution du script
mais autant le faire toi même, ce n'est qu'une seule ligne.
Il faudra alors appeler cette fonction juste après ta dernière requête SQL du script.

mysql_close peut être gênant dans un fichier inclus avec include si d'autres requêtes sont faites après le include.
Le mieux étant d'en mettre qu'un seul dans la page contenant l'include.

Posté : 06 mars 2008, 01:11
par AB
Ce ne sont que des optimisations et php peut très bien (dans la plupart des cas) se passer de ces fonctions.

Je dirais que mysql_free_result() est plus facile à utiliser que mysql_close().

Une fois les résultats de ta requête exploités tu peux toujours utiliser mysql_free_result() sans problème mais c'est surtout utile si ta requête retourne beaucoup de données et donc utilise beaucoup de mémoire.

Quant à mysql_close(), ç'est parfois délicat de l'utiliser dans des scripts un peu compliqués. Lire à ce sujet les commentaires à la suite de cette fonction.

Posté : 06 mars 2008, 13:09
par zest
Ben, ça c'est des réponses efficaces!! :lol:

Merci beaucoup, je vais donc m'en passer vu les mini requêtes que j'utilise !