Bonjour, Voila j'ai une question qui me trotte dans la tete depuis un certain temps et je vais vous en faire part. Mon site affiche défois le message "too many connection to database mysql ..." enfin un trucs dans le genre.
Mn site est fait de maniere a ce que chaque include se connecte elle meme a la base. Donc si dans ma page ya 6 include, la base s'ouvre et se ferme 6 fois par rafraichissement.
Je me pose la question suivante : Est il possible de faire en sorte d'ouvrir la base une fois, de charger toutes les requete (pour les include) et de refermer la base un fois que ces operation sont fini ? Ce qui allegerer le nombre de connection à la base. Je sais pas si j'ai été clair mais si vous avez une solution, merci de me la soumettre. A bientot
Merci vertigo davoir repondu. donc c'est faisable, ca me rassure car j'ai essayé mais ca ma fait une grosse erreur :
Voici ce que j'ai fait :
Dans le fichier index.php, j'ai mis :
include (config.php) contenant :
Code:
<?
$host = "***"; $user = "****"; $password = "*****"; $bdd = "***"; # # //Chaine de connection a la base de donnee $conn = mysql_connect($host, $user, $password); # # //Verification, de la possiblite d'acceder a la base de donnee mysql_select_db($bdd) or die("Impossible d'ouvrir la base de donnee $bdd"); ?>
Puis un include (partenaire.php) en dessous de l'include config.php :
Code:
<?php $select =mysql_query("SELECT * FROM SPGPartenaires WHERE valide='0' ORDER BY entrees DESC LIMIT 0,6") ;
Warning: mysql_query(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /home.3/promocli/www/include_partenaire.php on line 3
Warning: mysql_query(): A link to the server could not be established in /home.3/promocli/www/include_partenaire.php on line 3
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home.3/promocli/www/include_partenaire.php on line 5
Donc ca montre bien que la requete ne peut pas se connecter a la base. Et pourtant dans le index , j'ai fait un include config.php
JE te conseil d'utiliser des identifiant se referant a la connection bdd pour eviter les problemes... ce que tu fais actuellement c'est que tu prend la connection courante. Essaye avec cette methode :