Qd ouvrir et fermé la base de donnée sql

Nouveau WRInaute
Bonjour,

Si on a 2 ou 3 requettes sur la meme page :

La meilleur solution pour alléger le serveur est de fermé aprés chaque exécution

Code:
include 'include/connection.php';
      $requet = mysql_query('******************query1*****************');
      while ($donnee=mysql_fetch_assoc($requet))
     {
      *****************query 1
      }
mysql_close();



Mon code HTML

include 'include/connection.php';
      $requet = mysql_query('******************query2*****************');
      while ($donnee=mysql_fetch_assoc($requet))
     {
      *****************query 2
      }
mysql_close();



MON CODE HTML



include 'include/connection.php';
      $requet = mysql_query('******************query3*****************');
      while ($donnee=mysql_fetch_assoc($requet))
     {
      *****************query 3
      }
mysql_close();


Ou bien de faire une ouverture au début de la page et une fermuture a la fin

Code:
include 'include/connection.php';
      $requet = mysql_query('******************query1*****************');
      while ($donnee=mysql_fetch_assoc($requet))
     {
      *****************query 1
      }




Mon code HTML


      $requet = mysql_query('******************query2*****************');
      while ($donnee=mysql_fetch_assoc($requet))
     {
      *****************query 2
      }




MON CODE HTML




      $requet = mysql_query('******************query3*****************');
      while ($donnee=mysql_fetch_assoc($requet))
     {
      *****************query 3
      }
mysql_close();




Merci pour votre réponse
 
WRInaute impliqué
Salut,

Bon déjà: "Quand ouvrir et fermer..."

Ensuite, 3 include de la meme page, c'est pas bon. Les inclusions de fichiers sont coûteuses, donc on les regroupe au maximum et on ne fais pas 3 fois la même.

Pour le fond de la question, tout dépend de l'intervalle de temps entre tes requêtes. La meilleure solution serait également de regrouper toutes les requêtes, les faire les unes à la suite des autres.
Si ça n'est pas possible, il faut garder en tête qu'une connexion ouverte non utilisée, c'est inutile et gaspille de la ressource. Et pareil ouvrir 3 connexions en moins d'une seconde sur une page, c'est de la boucherie.

Donc tout est question de compromis. Il n'y a pas de réponse juste, tout dépend des cas.
 
WRInaute accro
La bonne technique est celle-ci :
Code:
// Préparation de toute les requêtes
$sql1 = "SELECT ...";
$sql2 = "SELECT ...";

// Connexion et ouverture bdd
include fichier connexion;
@mysqli_select_db(...);
@mysqli_set_charset (...);

// Envoi des requêtes
$req1 = @mysqli_query(... $sql1);
$req2 = @mysqli_query(... $sql2);

// Fermeture de la connexion à la bdd
@mysqli_close (...);

// Traitement des données
while($data1 = @mysqli_fetch_assoc($req1))
...
while($data2 = @mysqli_fetch_assoc($req2))

// Affichage des données
<html>
...
</html>
 
WRInaute accro
Sauf que, souvent, certaines requêtes vont dépendre des résultats des requêtes précédentes, donc pas évident de toutes les préparer en avance
 
Discussions similaires
Haut