rss
PHP : interet du mysql_close() ???
par Melaine
 Fil de Discussions
Statut : Non résolu
lundi 6 février 2006 à 11:11:43
Bonjour à tous

Petit souci en pho ou plutot demande d'infos :
J'ai un site web qui effectue des requetes dans une DB MySQL.
A chaque fois que j'ai besoin d'accéder aux données de la DB je fais un include(fichier_connexion_DB.php) en premiere ligne de mon fichier, me permettant ainsi d'inclure les données de connexion et j'effectue mes requetes.

FICHIER_CONNEXION_DB.PHP

//initialisation de l'heure
setlocale (LC_ALL, 'fr_FR');
$ecarttime=28800;
$dbhost = "localhost";
$dbname = "xoxoxo";
$dbuser = "yoyoyo";
$dbpasswd = "zozozzo";
$id_connect=MYSQL_CONNECT("$dbhost","$dbuser","$dbpasswd");
echo(mysql_error());
$bdd=mysql_select_db("$dbname");
echo(mysql_error());

Jusqu'ici pas de soucis.

Le gros pb c'est que me site plante de temps en temps, et la seule explication qu'a pu me fournir mon hébergeur c'est le fait que je ne mette pas de fermeture de connexion à ma base, à savoir le fameux mysql_close($db)

Alors j'ai fais ma petite recherche et j'ai pu lire sur divers sites php que "la fonction mysql_close() n'est pas vraiment obligatoire avec un mysql_connect(), car par défaut la connexion sera coupée automatiquement à la fin de l'exécution du script. "

Si qq'un peut m'éclairer sur ce pb, merci d'avance

Melaine
Répondre à Melaine  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Zep3k!GnO, le lundi 6 février 2006 à 12:03:23 Fil de Discussions
normalement, le mysql_close sert à libérer l'espace mémoire pris sur le serveur par la conection MySQL..Après je peux pas t'en dire + ... Zep3k!GnO
On est des rangers mec, des rangers...
Répondre à Zep3k!GnO

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Misdrhaal, le lundi 6 février 2006 à 12:17:53 Fil de Discussions
Quand on fait des requetes sur un serveur MySQL il y a de la RAM occupée :
- par la connection au serveur
- par la requete en elle-même.

La connection est lancée par mysql_connect(),
Ensuite selection de la base à laquelle se connecter mysql_select_db()

A ce moment là on est connecté au serveur et à une certaine base de données.
mysql_close ferme la connection au serveur (libérant ainsi l'espace mémoire de connection), il se fait automatiquement à la fin de chaque script (mais je préfère le rajouter dans un fichier inc de deconnexion appelé via un include, à la fin du script).

Ceci étant je n'ai jamais entendu dire qu'un mysql_close() était obligatoire!!!
La réponse de ton heberger PHP me semble vraiment bizarre...

Si tu fais de grosses requetes (qui demandent du temps et de la mémoire), il est nécéssaire le libérer l'espace mémoire pris sur le serveur à la fin de chaque requete.
ce que je fais généralement (pour par exemple une requete qui travaille sur ue table de 2 millions de lignes) c'est :

- requete en elle meme
- je stocke toutes les lignes dans un tableau
- je vide ensuite ma requete via "mysql_free($query)"
- je travaille sur le tableau (ou sur le fichier crée à parti du tableau suivant le nombre de lignes).

Voila donc les deux truc simportants pour gérer les requetes (d'autres astuces possibles je pense).

La réponse m'apparait quand meme saugrenue...
Répondre à Misdrhaal

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par kilian, le lundi 6 février 2006 à 21:06:59 Fil de Discussions 
Moui, j'ai jamais utilisé mysql_close() ....

Je suppose que ça sert plutôt pour des scripts Php hors des pages web et dont l'execution est plus longue, ou encore pour des scripts qui se connectent à plusieurs serveurs de base de données à la fois et qui ont besoin de libérer régulièrement les ressources.

Mais normalement à la fin du script, cette connexion est fermée automatiquement.
Répondre à kilian
Discussions pertinentes trouvées dans le forum
21/06 13h03Simple probleme frame+php HelpWebmastering21/06 15h165
21/06 11h07textarea (php/mysql)Webmastering22/06 21h264
21/06 08h54Problème BDD + PHPProgrammation21/06 11h226
20/06 21h41Problème: UTF-8 // PHP // phpmyadminProgrammation20/06 23h094
Plus de discussions sur « PHP : interet du mysql_close() ??? » Discussion en cours Discussion fermée Problème résolu
Logiciels pertinents trouvés dans les téléchargements
Télécharger PHP Edit 0.6PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de...Catégorie: PHP
Licence: Freeware/gratuit
Télécharger WAMP Server 2.0cWAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de...Catégorie: Serveurs
Licence: Freeware/gratuit
Télécharger easyPHP 2.0b1easyPHP - EasyPHP est un environnement de travail packagé comprenant le serveur web Apache, le système de gestion de bases de données...Catégorie: Serveurs
Licence: Open Source
Télécharger PSPad 4.5.2PSPad - PSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS,...Catégorie: Développement
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « PHP : interet du mysql_close() ??? »
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide