Connexion BDD MySQL depuis PHP

Tophe202 Messages postés 1 Statut Membre -  
tarek_dotzero Messages postés 834 Statut Membre -
Bonjour,

j'aurais aimé avoir quelques précisions sur les connexions aux BDD depuis PHP:

Jusqu'à présent je développe mon code de la façon suivante:

     if($link = @mysql_connect($host, $login, $passwd))
     {
          if(@mysql_select_db($database))
          {
               $result = @mysql_query($query);

               if($result)
               {
                    while($row = @mysql_fetch_array($result))
                    {
                         ...
                    }
               }
          }

          @mysql_close($link);
     }


Si je mets le mysql_fetch_array après le mysql_close cela fonctionne aussi MAIS j'aurais voulu savoir si cela fonctionne parce qu'une nouvelle connexion est recrée d'après les derniers paramètres en faisant une connexion implicite (ou comme lorsque dans la mysql_query je ne précise pas "$link") ou parce qu'il n'y a pas besoin d'être connecté à la base.

Dans le dernier cas, cela voudrait dire que même si le serveur de BDD pète avant que l'on ait "fetché" les réponses on arrivera à les lire et que le cas ci-après ne posera aucun problème:

     <?php 

     if($link = @mysql_connect($host, $login, $passwd))
     {
          if(@mysql_select_db($database))
          {
               $result = @mysql_query($query)
          }

          @mysql_close($link);
     }

    ?>

    ...

    <?php
     
     // CRASH DU SERVEUR DE BDD

     if($result)
     {
          while($row = @mysql_fetch_array($result))
          {
               ...
          }
     }

    ?>  



Merci de me dire ce que vous en pensez parce que sur une page ou de nombreuses données doivent être gérées et générées le temps durant lequel la connexion à la BDD reste ouverte peut poser des problèmes avec beaucoup de visites simultanées quant aux quotas (x connexions max au serveur de BDD).

Merci beaucoup par avance pour vos réponses
Configuration: Windows Vista
Firefox 2.0.0.20

1 réponse