UP PREVIOUS NEXT   Technologies Internet et Education, © TECFA
  2. Principe de la connectivité PHP - bases de données

2. Principe de la connectivité PHP - bases de données

Fonctions PHP-mySQL

2.1 Un exemple complet documenté:

 

Pour l'ajout d'enregistrements deux scripts sont nécessaires:

Il en va de même pour l'édition d'un enregistrement:

2.2 Fonctions PHP - MySQL

A. Se connecter à un serveur de bases de données

mysql_pconnect(host, username, password);

$link = mysql_pconnect("localhost","clavel","secret");

B. Sélectioner une base de données

mysql_select_db(dbname, [linkID]);

mysql_select_db("demo");

C. Exécuter une requête SQL

mysql_query(requête_SQL);

$result = mysql_query("SELECT * FROM demo1");

La variable $result est "boolean" et contient à ce moment

Ce qui est très utile pour le déboguage !

D. Traitement des résultats

Traitement indépendant du nom des champs

mysql_fetch_row

mysql_fetch_row(identificateur)

Exemple:

$result = mysql_query("SELECT * FROM demo1")
$row = mysql_fetch_row
($result);

Nombre de champs dans un enregistrement

mysql_num_fields

mysql_num_fields(identificateur)
$nb_champs = mysql_num_fields($result);

E. Gérer les erreurs (Warnings)

mysql_errno()

mysql_errno(identificateur)

mysql_error()

mysql_error(identificateur)
 

Exemple 2-1: Exemple gestion d'erreurs:

<?php
 mysql_pconnect("nohost", "basuser", "wrongpass");
 echo mysql_errno().": ".mysql_error()."<BR>";
 
 mysql_select_db("nonexistentdb");
 echo mysql_errno().": ".mysql_error()."<BR>";
 
 $conn = mysql_query("SELECT * FROM nonexistenttable");
 echo mysql_errno().": ".mysql_error()."<BR>";
?>

Exemple 2-2: Traitement indépendant du nom des champs.
Génération d'une table HTML avec les enregistrements contenus dans un résultat

<?
mysql_pconnect("localhost","nobody","");
mysql_select_db("demo");
$result = mysql_query("SELECT * FROM demo1");
?>
<table  border="1">   <tr>
<?
while  ($row  =  mysql_fetch_row($result))  { 
    echo  "<tr>"; 
    for  ($i=0;  $i<mysql_num_fields($result);  $i++)  { 
      echo  "<td>"; 
      // test if this is the URL
      if ($i == 4) { echo  "<a href='$row[$i]'>$row[$i]</a>";  }
      else {  echo  "$row[$i]"; }
      echo  "</td>"; 
    } }
?>
</table>

F. Traitement en utilisant le nom des champs

mysql_num_rows

mysql_num_rows(identificateur);

Exemple:

$nb_enregistrements = mysql_num_rows($result);

mysql_result

mysql_result(identificateur, index, champ);

Exemple:

$nom = mysql_result($result,0,'fullname');

Exemple 2-3: Traitement utilisant le nom des champs.
Génération d'une table HTML avec les enregistrements contenus dans un résultat

 
<?php 
mysql_pconnect( "localhost", "nobody", "")  or  die( "Unable  to  connect  to  SQL  server"); 
 
mysql_select_db("demo")  or  die ( "Unable  to  select  database"); 
$result  =  mysql_query( "select * from demo1"); 
?> 
  <table  border="1"> 
<?php
$i = 0;
while ($i < mysql_num_rows($result)) {
  echo  "<tr>";   
  echo  "<td>";   
  echo mysql_result($result,$i,'id');
  echo  "</td>";   
  echo  "<td>";   
  echo mysql_result($result,$i,'fullname');
  echo  "</td>";   
  echo  "<td>";   
  echo mysql_result($result,$i,'love');
  echo  "</td>";   
  echo  "<td>";   
  echo mysql_result($result,$i,'sports');
  echo  "</td>";   
  echo  "</tr>"; 
  $i++;
}
  echo  "</table>"; 
?>

UP PREVIOUS NEXT -- TIE