Le langage PHP dispose de nombreuses fonctions permettant de travailler sur des bases de données MySQL.

L'utilisation de ces fonctions nécessite une compilation de PHP avec le support MySQL en activant l'option --with-mysql=[répertoire]. Le répertoire indiqué correspond au chemin où est localisé les librairies du SGBDR MySQL.

Pour en savoir plus sur MySQL et sa configuration, une consultation du site officiel de MySQL semble s'imposer inévitablement.

Fonction
Description
$nb_enregistrements = mysql_affected_rows($id_resultat);
retourne le nombre denregistrements affectés lors d'une requête SQL.
true | false = mysql_change_user($utilisateur, $mot_passe
[, $nom_base [, $id_connexion]]);
modifie le nom de session de l'utilisateur actif.
true | false = mysql_close($id_connexion);
ferme la connexion MySQL.
$id_connexion | false = mysql_connect([$nom_hote
[, $utilisateur [, $mot_passe]]]);
ouvre une connexion sur un serveur MySQL.
true | false = mysql_create_db($nom_base, $id_connexion);
crée une base de données MySQL.
true | false = mysql_data_seek($id_resultat, $num_enregistrement);
déplace le pointeur vers l'enregisrement spécifié.
$nom | false = mysql_db_name($id_resultat,
$num_enregistrements, $position_champs);
retourne le nom de la base de données par rapport à l'enregistrement et au champs spécifiés.
$id_resultat | false = mysql_db_query($nom_base, $requete [, $id_connexion]);
envoie une requête SQL à un serveur MySQL et retourne un identifiant.
true | false = mysql_drop_db($nom_base [, $id_connexion]);
supprime une base de données MySQL.
$num_erreur = mysql_errno([$id_connexion]);
retourne le numéro de l'erreur MySQL.
$message = mysql_error([$id_connexion]);
retourne le message de l'erreur MySQL.
$nouvelle_chaine = mysql_escape_string($chaine);
échappe une chaîne pour la passer à mysql_query.
$tab_valeurs | false = mysql_fetch_array($id_resultat
[MYSQL_ASSOC | MYSQL_NUM | MYSQL_BOTH]);
retourne les valeurs d'un enregistrement dans un tableau associatif (MYSQL_ASSOC), indicé (MYSQL_NUM) ou les deux (MYSQL_BOTH).
$tab_valeurs | false = mysql_fetch_assoc($id_resultat);
retourne les valeurs d'un enregistrement dans un tableau associatif.
$obj_informations | false = mysql_fetch_field($id_resultat, $position_champs);
retourne les informations à propos du champs spécifié dans un objet dont les propriétés sont :
Propriété Description
name représente le nom de la colonne.
table représente le nom de la table d'où la colonne est originaire.
max_length représente la taille maximum de la colonne.
not_null retourne -1 si la colonne n'est pas NULL.
multiple_key retourne -1 si la colonne est une clé non-unique.
primary_key retourne -1 si la colonne est une clé primaire.
unique_key retourne -1 si la colonne est une clé unique.
type retourne le type de la colonne.
blob retourne -1 si la colonne est de type BLOB.
numeric retourne -1 si la colonne est numérique.
unsigned retourne -1 si la colonne est non-signée.
zerofill retourne -1 si la colonne est complétée par des zéros.
$tab_tailles = mysql_fetch_lengths($id_resultat);
retourne la taille de chaque colonne d'une ligne de résultat.
$obj_valeurs = mysql_fetch_object($id_resultat);
retourne les lignes résultats sous la forme d'un objet.
$tab_valeurs | false = mysql_fetch_row($id_resultat);
retourne les valeurs d'un enregistrement dans'un tableau.
$semaphore = mysql_field_flags($id_resultat, $position_champs);
retourne le sémaphore associé au champs spécifié dans le résultat.
$nom = mysql_field_name($id_resultat, $position_champs);
retourne le nom d'un champ.
$longueur = mysql_field_len($id_resultat, $position_champs);
retourne la longueur d'un champ.
$position = mysql_field_seek($id_resultat, $position_champs);
déplace le pointeur vers un champ spécifié.
$nom = mysql_field_table($id_resultat, $position_champs);
retourne le nom de la table où se trouve le champ.
$type = mysql_field_type($id_resultat, $position_champs);
retourne le type du champ spécifié.
true | false = mysql_free_result($id_resultat);
libére les ressources utilisées par le résultat.
$chaine = mysql_get_client_info();
retourne le numéro de version du client MySQL.
$chaine = mysql_get_host_info([$id_connexion]);
retourne une chaîne de caractères indiquant le type de connexion et le nom du serveur hôte.
$chaine = mysql_get_proto_info([$id_connexion]);
retourne une chaîne de caractères indiquant la version du protocole utilisée par la connexion.
$chaine = mysql_get_server_info([$id_connexion]);
retourne une chaîne de caractères indiquant la version du serveur utilisée par la connexion.
$id_insertion = mysql_insert_id([$id_connexion]);
retourne l'identifiant généré par la dernière requête d'insertion INSERT.
$id_liste = mysql_list_dbs([$id_connexion]);
retourne la liste des bases de données sur le serveur MySQL.
$id_liste = mysql_list_fields($nom_base, $nom_table [, $id_resultat]);
retourne la liste des champs d'un résultat MySQL.
$id_liste = mysql_list_tables($nom_base [, $id_connexion]);
retourne la liste des tables d'une base de données.
$nb_champs = mysql_num_fields([$id_resultat]);
retourne le nombre de champs d'un résultat.
nb_enregistrements = mysql_num_rows([$id_resultat]);
retourne le nombre d'enregistrements dans un résultat.
$id_connexion | false = mysql_pconnect([$nom_hote
[, $utilisateur [, $mot_passe]]]);
ouvre une connexion persistante à un serveur MySQL.
$id_resultat| false = mysql_unbuffered_query($requete
[, $id_connexion [, $mode]]);
exécute une requête SQL en évitant de consommer de la mémoire.
$id_resultat | false = mysql_query($requete [, $id_connexion]);
exécute une requête SQL sur un serveur MySQL.
$valeur = mysql_result($id_resultat, $num_enregistrement [, $champ]);
retourne la valeur d'un champ désigné par sa position ou son nom dans un enregistrement indiqué.
true | false = mysql_select_db($nom_base [, $id_connexion]);
sélectionne une base de données MySQL.
$nom = mysql_tablename($id_resultat, $position_champ);
retourne le nom de la table d'où le champ spécifié provient.
Exemple [voir]
<?php
  function gestion_erreur($identifiant)
  {
    echo "Une erreur est survenue :<br>" 
             . mysql_errno() . " : " . mysql_error();
    mysql_close($identifiant);
    exit;
  }

  $id_connexion = mysql_connect("localhost","root","mpt");
  if(!$id_connexion) gestion_erreur($id_connexion);

  $id_liste_bases = mysql_list_dbs($id_connexion);
  if(!$id_liste_bases) gestion_erreur($id_liste_bases);

  $nb_bases = mysql_num_rows($id_liste_bases);

  echo '<table width="640" border="1">';
  for($i = 0; $i < $nb_bases; $i++)
  {
    $nom_base = mysql_db_name($id_liste_bases, $i);

    $id_liste_tables = mysql_list_tables($nom_base, $id_connexion);
    if(!$id_liste_tables) gestion_erreur($id_liste_tables);

    $nb_tables = mysql_num_rows($id_liste_tables);

    echo '<tr><th valign="top" width="140"><u>' . $nom_base 
               . '</u></th><td valign="top" width="500">';
    for($j = 0; $j < $nb_tables; $j++)
    {
      $nom_table = mysql_tablename($id_liste_tables, $j);

      $id_liste_champs = 
                    mysql_list_fields($nom_base, $nom_table, $id_connexion);
      if(!$id_liste_champs) gestion_erreur($id_liste_champs);

      $nb_champs = mysql_num_fields($id_liste_champs);

      echo '<table width="500" border="1"><tr><th valign="top" width="200">' 
              . $nom_table . '</th><td valign="top" width="300">';
      for($k = 0; $k < $nb_champs; $k++)
      {
        $nom_champ = mysql_field_name($id_liste_champs, $k);
        $type_champ = mysql_field_type($id_liste_champs, $k);
        $longueur_champ = mysql_field_len($id_liste_champs, $k);
        $semaphore_champ = mysql_field_flags($id_liste_champs, $k);

        echo '<u>' . $nom_champ . '</u>('
                . $type_champ . ' '
                . $longueur_champ . ' '
                . $semaphore_champ . ')<br>';
      }
      echo '</td></tr></table>';
    }
    echo '</td></tr>';
  }
  echo '</table>';

  mysql_free_result($id_liste_bases);
  mysql_free_result($id_liste_tables);
  mysql_free_result($id_liste_champs);

  mysql_close($id_connexion);
?>