PHP
PHP -MySQL
Connection à une BDD MySQL
Connection non-persistante :
$db= mysql_connect($host,$login,$password); if(!$db) { echo"Connexion Error!". mysqlerror(); }
Connection persistante :
$db = mysql_pconnect($host,$login,$password); if(!$db) { echo"Connexion Error!". mysqlerror(); }
Deux différences majeures avec la première option :
a fonction essaie de trouver une connexion permanente déjà ouverte sur cet hô;te, avec le même nom d'utilisateur et de mot de passe. Si une telle connexion est trouvée, son identifiant est retourné, sans ouvrir de nouvelle connexion.
Deuxièmement, la connexion au serveur MySQL ne sera pas terminée avec la fin du script. Au lieu de cela, le lien sera conservé pour un prochain accès.
Sélection à la BDD :
$db= mysql_connect($host,$login,$password); if(!$db) { echo"Connexion Error!". mysqlerror(); } else { mysql_select_db($db_uname,$db); }
Ping sur la BDD : mysql_ping
if(!mysql_ping($db)){ echo"Perte de la connexion"; }
Fermeture de la connection : mysql_close
mysql_close($db);
Requête : mysql_query
$sql="SELECT * from user"; $req=mysql_query($req); //Gestion de l'erreur if(!req){ echo"SQL Error"; } //ou $req=mysql_query($req) or die("SQL Error :".$sql."<BR>". mysql_error());
Nombre résultat : mysql_num_rows
$sql="SELECT * from user"; $req=mysql_query($req) or die("SQL Error :".$sql."<BR>". mysql_error()); $nb=mysql_num_rows($req);
Exploiter le résultat : mysql_fetch_...
Mysql_fetch_assoc
$req=mysql_query($req) or die("SQL Error :".$sql."<BR>". mysql_error()); if(mysql_num_rows($req)) { while($data=mysql_fetch_assoc($req)) { echo $data['id']; echo $data['name']; } }
Mysql_fetch_array
$req=mysql_query($req) or die("SQL Error :".$sql."<BR>". mysql_error()); if(mysql_num_rows($req)) { while($data=mysql_fetch_array($req)) { echo $data[0]; echo $data[1]; } }
De prime abord, on a compris que le résultat de la requête était contenu dans un tableau :
  • Associatif
  • indexé
  • voir les 2 ( et oui !!)
Le mysql_fetch_assoc renvoie le résultat de la requête était contenu dans un tableau associatif d'où sa terminaison.

Le mysql_fetch_array renvoie le résultat de la requête était contenu dans un tableau (terminaison ;) dans lequel on peut déterminer le mode

Tableau indexé :
$req=mysql_query($req) or die("SQL Error :".$sql."<BR>". mysql_error()); if(mysql_num_rows($req)) { while($data=mysql_fetch_array($req,MYSQL_NUM)) { echo $data[0]; echo $data[1]; } }
Tableau associatif :
$req=mysql_query($req) or die("SQL Error :".$sql."<BR>". mysql_error()); if(mysql_num_rows($req)) { while($data=mysql_fetch_array($req,MYSQL_ASSOC)) { echo $data['id]; echo $data['name']; } }
Tableau associatif et indexé :
$req=mysql_query($req) or die("SQL Error :".$sql."<BR>". mysql_error()); if(mysql_num_rows($req)) { while($data=mysql_fetch_array($req,MYSQL_BOTH)) { echo $data['id']; echo $data[1]; } }
Connaitre le nombre de champs modifiés : mysql_affected_rows
$sql="DELETE FROM ..."; mysql_query($sql); echo "Nombre de champe modifi&eacute;". mysql_affected_rows();
Libération de la mémoire : mysql_free_result
mysql_free_result($req);
Imprimer
Notez cette page

S'il vous plait, prenez un moment pour remplir ce formulaire pour nous aider à mieux vous servir.

12345

    :: Ajouter aux favoris :: Contact