Dernière mise à jour :2014-07-29

informatique

Le langage PHP et la base de donnée MySQL sont souvent associés ensemble. Cela ne veut pas dire qu’on ne peut pas utiliser PHP avec une autre base de données ou encore MySQL avec un autre langage de programmation. En fait, c’est probablement dû au fait qu’ils sont tous les deux des produits qui sont très performant et bien sûr, qu’on peut se les procurer gratuitement.

Cet article vous présente comment utiliser PHP pour se connecter à une base de données MySQL et exécuter des requêtes SQL.

Se connecter à une base de données MySQL est une chose très simple en PHP puisqu’il existe des fonctions élaborées créée dans ce but.

Avant de commencer, imaginons que vous avez créé une table dans une base de données MySQL nommé "exemple1" situé sur un serveur dont l’adresse IP est 192.168.10.10, le nom d’utilisateur est sylvain et le mot de passe est bilodeau. Voici le script de création de la BD pour l’exemple :

Listing 1.0 Création d'une table dans MySQL
CREATE TABLE test (
id int(11) DEFAULT '0' NOT NULL auto_increment,
nom varchar(20) NOT NULL,
prenom varchar(30),
dateinscription datetime,
PRIMARY KEY (id)
);

Note : Pour administrer une base de données MySQL, vous pouvez utiliser le logiciel MySQL Control Center qui peut être téléchargé gratuitement (enfin, au moment où j’écris cet article c’est le cas) depuis le site mysql.com. Pour les personnes qui ont déjà travaillé en Oracle, ce logiciel ressemble un peu à Toad.

Connexion et déconnexion au serveur MySQL

Avant d’envoyer des requêtes à une base de données MySQL, il faut se connecter au serveur de bases de données. En effet, MySQL est un serveur de bases de données, ce qui veut dire que sur MySQL, vous pouvez avoir plusieurs base de données un peu comme dans SQL Server de Microsoft. Pour vous connecter au serveur, employez la fonction mysql_connect. Voici comment se connecter à notre base de données exemple en utilisant cette fonction :

Listing 2.0 Connexion à MySQL
$serveur = mysql_connect("192.168.10.10","sylvain","bilodeau");
if (!$serveur)
{
die('Non connecté : ' . mysql_error());
}

Avant la fin du script, il faut se déconnecter de la base de données. Pour cela, on utilise la fonction mysql_close. On écrit simplement :

mysql_close();

Sélectionner une base de données

Après vous être connecté à un serveur de base de données, il faut sélectionner une base de données. Pour sélectionner une base de données, utilisez la fonction mysql_select_db. Voici comment sélectionner la base de données notre base de données exemple1 :

Listing 3.0 Sélection d'une base de données
$db_exemple1 = mysql_select_db('exemple1', $serveur);
if (!$db_exemple1)
{
die ('Impossible d\'utiliser la base : ' . mysql_error());
}

Exécution de requêtes SQL

À l'aide de PHP, il est possible de sélectionner, d'insérer, de modifier ou de détruire des données de notre table test en exécutant des requêtes SQL. La fonction qui permet d'exécuter une requête SQL est mysql_query.

Insertion de données

Si on veut insérer un enregistrement dans la table test, on écrira ceci :

Listing 4.0 Exemple de requête INSERT
$query = "INSERT INTO test(nom,prenom,dateinscription) VALUES('Bilodeau','Sylvain', NOW())";
$result = mysql_query($query);

Sélectionner des données

Maintenant que nous avons inséré des données dans la base de données, il faut savoir comment les récupérer pour les afficher à l'écran par exemple. Pour récupérer des données, on commence par utiliser la fonction mysql_query avec une instruction SELECT. Le résultat de la fonction contient un pointeur vers les données sélectionnées. On peut ensuite utiliser une autre fonction comme mysql_result ou mysql_fetch_array pour manipuler les données.

Listing 5.0 Exemple avec mysql_result
$nombreenrg = mysql_numrows($result); //Nombre d'enregistrements
$i=0; //Compteur

while ($i < $nb)
{
$nom = mysql_result($result,$i,"nom");
$prenom = mysql_result($result,$i,"prenom");
$dateinscription = mysql_result($result,$i,"dateinscription");
echo "Nom : $prenom $nom
Date inscription : $dateinscription";
$i++;
}
Listing 6.0 Exemple avec mysql_fetch_array
$nb = mysql_numrows($result); //Nombre d'enregistrements

while ($enregistrement = mysql_fetch_array($result))
{
$nom = $enregistrement["nom"];
$prenom = $enregistrement["prenom"];
$dateinscription = $enregistrement["dateinscription"];
echo "Nom : $prenom $nom
Date inscription : $dateinscription";
}

L'avantage de la seconde fonction c'est qu'elle permet d'être sûr de ne pas faire de boucle infini.

Auteur : Sylvain Bilodeau

Date de mise en ligne : 2004-06-30

Comment se connecter à une base de données MySQL en PHP

mysql_connect("localhost", "root", ""); La syntaxe pour se connecter en local sans mot de passe

2009-05-21 00:00:00

Comment se connecter à une base de données MySQL en PHP

$serveur='localhost'; $admin='root'; $pwd=''; $nombd='essai'; $connexion=mysql_connect($serveur,$admin,$pwd) or die('impossible de se connecter au serveur'); $toto=mysql_select_db($nombd,$connexion) or exit('impossible de se connecter a la base de donnée');

2009-03-31 00:00:00

Comment se connecter à une base de données MySQL en PHP

comment accéder à un base de données avec mot de passe

2009-01-10 00:00:00

Comment se connecter à une base de données MySQL en PHP

j'ai essayé ce code pour me connecter a ma base de donnees exemple1 avec la table test mais je n'arrive pas en local est t'il possile de me donner le code en entier merci

2008-01-23 00:00:00