The manual Page
English version
accueil | glossaire | downloads | liens ]
 

Connexion à une base de données MySQL

Se connecter

Un des gros points fort de PHP est la simplicité avec laquelle on manipule les bases de données MySQL. D'ailleurs, PHP est très souvent proposé avec MySQL chez les hébergeurs Web.

Pour pouvoir utiliser une base de données, la première chose à faire est de ce connecter au serveur :

// Preparation de la connexion
$host = "nom_serveur";
$user = "utilisateur_bdd";
$password = "mot_de_passe";
$bdd = "nom_bdd";

// Connexion
mysql_connect($host, $user, $password) or die ("impossible de se connecter
au serveur");

Dernière étape avant de faire une requête sur la base de données : se connecter à la base de données elle-même (un même serveur peut permettre d'accéder à plusieurs bases de données différentes en même temps) :

mysql_select_db($bdd) or die ("impossible de se connecter a la base de donnees");

A partir de maintenant, il est possible de faire une requête SQL sur la base de données avec la fonction mysql_query et de traiter le résultat :

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

while ($ligne=mysql_fetch_row($result)) {
	...
}

Lorsque les traitements sur la base de données sont terminés, il faut refermer la connexion :

mysql_close();

La fonction mysql_query

Cette fonction permet de faire des requétes SQL sur une base de données MySQL. Le prototype de la fonction est le suivant :

int mysql_query (string requete [, int link_identifier])

Cette fonction renvoie true ou false selon que la requéte a réussi ou pas.

Le link_identifier permet de choisir la base de données sur laquelle faire la requête. Si cette variable n'est pas spécifiée, PHP utilise la dernière base de donnée contactée. Dans la majorité des cas, on ne précise pas cette argument (voir l'exemple ci-après) car on n'utilise qu'une seule base de données à la fois.

Cette fonction s'utilise la plupart du temps avec mysql_fetch_row ou mysql_fetch_array qui permettent de récupérer ligne par ligne (dans une simple liste ou un tableau associatif) le résultat de la requête :

$result = mysql_query("select * from table");

while ($ligne = mysql_fetch_row($result)) {
	$nom = $ligne[0];
	$prenom = $ligne[1];
	echo "$nom  $prenom";
	...
}

Fonctions utiles

nom description
mysql_connect sert à se connecter au serveur
mysql_select_db sert à se connecter à la base de données
mysql_query effectue la requête SQL passée en argument
mysql_close ferme la connexion au serveur
mysql_fetch_row récupère le résultat de la requête ligne par ligne dans un tableau indexé par des numéros
mysql_fetch_array récupère le résultat de la requête ligne par ligne dans un tableau associatif (les clés sont alors les noms des colonnes de la table)
mysql_num_rows récupère le nombre total de lignes dans le résultat
mysql_data_seek déplace le pointeur interne d'un résultat de requête MySQL à une position donnée

Référence

La section MySQL du site php.net


format imprimable format imprimable



Copyright © 2000-2006 themanualpage.org - Ce site est soumis aux conditions décrites dans les licences GNU GPL et FDL.