LVII. MySQL

Ces fonctions vous permettent d'accéder aux bases de données MySQL. Afin de pouvoir les utiliser, vous devez compiler PHP avec le support MySQL, en utilisant l'option --with-mysql. Si vous utilisez cette fonction sans préciser le chemin d'accès à la base MySQL, PHP utilisera les librairies clientes MySQL fournies en standard. Les utilisateurs qui font tourner d'autres applications qui utilisent elles-mêmes MySQL (par exemple, PHP 3 et PHP 4 utilisés comme des modules concurrents apache, ou encore auth-mysql), devraient toujours spécifier le chemin jusqu'à MySQL : --with-mysql=/path/to/mysql. Cela va forcer PHP à utiliser les librairies clientes installées par MySQL et évitera les conflits.

Plus d'informations sont disponible à http://www.mysql.com/.

La documentation de MySQL est disponibles à http://www.mysql.com/documentation/, ainsi qu'en français chez nexen.

Cet exemple simple montre comment se connecter, exécuter une requête, lire les informations obtenues et se déconnecter d'une base de données MySQL.

Exemple 1. Exemple d'introduction

<?php
  $link = mysql_connect("hote_mysql", "login_mysql", "mot_de_passe_mysql")
    or die ("Impossible de se connecter");
  print ("Connexion réussie");
  mysql_select_db ("ma_base")
    or die ("Impossible d'accéder à la base de données");
  $query = "SELECT * FROM ma_table";
  $result = mysql_query ($query)
    or die ("La requête a échoué");
// Affichage du résultat au format HTML
  print "<table>\n";
  while($line = mysql_fetch_array($result)){
    print "\t<tr>\n";
    while(list($col_name, $col_value) = each($line)){
      print "\t\t<td>$col_value</td>\n";
    }
    print "\t</tr>\n";
  }
  print "</table>\n";
  mysql_close($link);
?>

Table des matières
mysql_affected_rows --  Retourne le nombre de lignes affectées lors de la dernière requête SQL.
mysql_change_user --  Change le nom de session de l'utilisateur actif.
mysql_close -- Ferme la connexion MySQL.
mysql_connect -- Ouvre une connexion à un serveur MySQL.
mysql_create_db -- Crée une base de données MySQL.
mysql_data_seek -- Déplace le pointeur interne de résultat.
mysql_db_name -- Lit les noms des bases de données
mysql_db_query -- Envoie une requête MySQL à un serveur MySQL.
mysql_drop_db -- Efface une base de données MySQL.
mysql_errno --  Retourne le numéro de message d'erreur de la dernière opération MySQL.
mysql_error --  Retourne le texte associé avec l'erreur générée lors de la dernière requête.
mysql_escape_string --  Protège une chaîne pour la passer à mysql_query.
mysql_fetch_array --  Retourne une ligne de résultat sous la forme d'un tableau associatif.
mysql_fetch_assoc --  Lit une ligne de résultats dans un tableau associatif
mysql_fetch_field --  Retourne les données enregistrées dans une colonne sous forme d'objet.
mysql_fetch_lengths --  Retourne la taille de chaque colonne d'une ligne de résultat.
mysql_fetch_object -- Retourne les lignes résultats sous la forme d'un objet.
mysql_fetch_row -- Retourne une ligne de résultat sous la forme d'un tableau.
mysql_field_flags --  Retourne le sémaphore associé à la colonne spécifiée dans le résultat courant.
mysql_field_name --  Retourne le nom d'une colonne
mysql_field_len --  Retourne la longueur du champs spécifié.
mysql_field_seek --  Déplace le pointeur de résultat
mysql_field_table --  Retourne le nom de la table où se trouve une colonne
mysql_field_type --  Retourne le type de la colonne spécifiée dans le résultat courant.
mysql_free_result -- Efface le résultat de la mémoire.
mysql_insert_id --  Retourne l'identifiant généré par la dernière requête INSERT.
mysql_list_dbs --  Liste les bases de données disponibles sur le serveur MySQL.
mysql_list_fields -- Liste les champs du résultat MySQL.
mysql_list_tables -- Liste les tables d'une base de données.
mysql_num_fields -- Retourne le nombre de champs d'un résultat.
mysql_num_rows -- Retourne le nombre de lignes d'un résultat.
mysql_pconnect --  Ouvre une connexion persistante à un serveur MySQL.
mysql_unbuffered_query --  Exécute une requête SQL sans mobiliser les résultats
mysql_query -- Envoie une requête SQL à un serveur MySQL.
mysql_result -- Retourne un champs d'un résultat.
mysql_select_db -- Sélectionne une base de données MySQL.
mysql_tablename --  Lit le nom de la table qui contient le champs spécifié.
mysql_get_client_info -- Lit les informations sur le client MySQL
mysql_get_host_info -- Lit les informations sur l'hôte MySQL
mysql_get_proto_info -- Lit les informations sur le protocole MySQL
mysql_get_server_info -- Lit les informations sur le serveur MySQL