Connexion BDD MySQL depuis PHP

Fermé
Tophe202 Messages postés 1 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 2 novembre 2009 - 2 nov. 2009 à 23:29
tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 - 3 nov. 2009 à 00:30
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
A voir également:

1 réponse

tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 122
3 nov. 2009 à 00:30
Si c'est le cas, et tu peux "fetcher" les données sans connexion au serveur, et que le problème qui se pause est un problème de sécurité, je pense que tu dois voir du côté des commandes: Transact et Commit/Abord qui gèrent les transactions SQL.

Je pense que ce lien traite le point:

https://www.phpclasses.org/package/2461-PHP-Execute-multiple-MySQL-queries-in-a-transaction.html
0