Le magazine des jeux par internet logo

Effectuez une recherche sur la totalité du site :

A lire...

MySQL 5 : Guide de l'administrateur et du développeur MySQL 5 : Guide de l'administrateur et du développeur
de Michael Kofler

En savoir +


PHP/MySQL et JavaScript PHP/MySQL et JavaScript
de Philippe Chaléat, Daniel Charnay, Jean-René Rouet

En savoir +


Pratique de MySQL et PHP Pratique de MySQL et PHP
de Philippe Rigaux

En savoir +

Bases de données
Développement :: Bases de données ::

Connection à une base MySQL

Ou comment extraire des informations d’une base de données.

mercredi 26 octobre 2005 par Prélude

Se connecter à une base de données MySQL permet de récupérer des informations contenues dans cette base, ou de les modifier, mais aussi de les supprimer, voir de modifier la structure même de la base.

Commençons par une connection simple et la lecture d’une table.

@mysql_connect($gBaseHost, $gBaseLogin, $gBasePass) or die("Impossible de se connecter à la base de données");

@mysql_select_db($gBase) or die("Impossible de se connecter à la base de données");

(JPG) Explication de ces 2 lignes : le caractère "@" devant chaque ligne permet d’éviter les messages d’erreurs qui pourraient contenir des informations permettant le piratage de la base, voir du site. Le seul message qui sera visible sera celui qui est indiqué en paramètre du "die".

La première ligne permet de se connecter au serveur MySQL. Il y a des paramètres qui sont ici :
-  $gBaseHost : l’adresse du serveur (parfois localhost). Sur un hébergement mutualisé chez Ovh, ce sera par exemple : "mysql4.5"
-  $gBaseLogin : le login pour vous connecter au serveur MySQL.
-  $gBasePass : et le mot de passe (tout ceci vous est fourni par l’hébergeur normalement)

Il faut donc les avoir défini avant. Le mieux étant de les placer dans un fichier de configuration qui sera inclus à chaque fois que ce sera nécessaire.

Dans la seconde ligne, nous avons la connexion à la base à proprement parler (un serveur MySQL peu accueuillir plusieurs bases).
Il faut donc indiquer le nom de la base ($gBase). C’est bien souvent la même chose que le login sur des hébergements mutualisés.

Mais passons aux choses sérieuses : la récupération d’une information. Pour cela, on va admettre qu’une table existe, qu’elle se nomme "contacts" et qu’il y a des fiches dedans avec deux champs "Nom" et "Prenom".

$SQL = "SELECT * FROM 'contacts' ORDER BY Nom";

$result = mysql_query($SQL);

Voilà, le langage qui va permettre de discuter avec la base est le SQL. La requête (on demande quelque chose au serveur) est une requête "SELECT" qui va donc sélectionner des enregistrements.

Dans le cas présent, on sélectionne tous les enregistrements et on demande qu’ils soient rapatriés par ordre alphabêtique croissant (par défaut) du champs "Nom".

Vous suivez ?

La seconde ligne permet de récupérer dans une variable le contenu de la base. En fait, c’est un "pointeur", il n’y a rien dans la variable $result.
Donc, demandons le contenu :

$UnNom = mysql_result($result, 0, "Nom");

$UnPrenom = mysql_result($result, 0, "Prenom");

Nous voilà avec la variable $UnNom contenant le champs Nom de la première ligne. Le 0 en second paramètre indique le numéro de la ligne en cours. La liste commence à 0 et se termine à... Voyons le code suivant pour savoir combien il y a de lignes :

$nbr = mysql_num_rows($result);

Et s’arrête donc à $nbr-1. Oui, il y a $nbr lignes qui sont numérotées de 0 à $nbr - 1

echo "<p>Le nom : ".$UnNom."<br />";

echo "Le pr&eacute;nom : ".$UnPrenom."</p>";

Et voilà l’affichage du nom et du prénom de la première ligne (ou fiche, question de vocabulaire).

Ne pas oublier de fermer la connection à la base sous peine de saturer le serveur !

mysql_close();

Il est préférable de fermer la connection avant même d’afficher quoique ce soit. Dans ce cas, il serait préférable de fermer la connection avant les "echo".

Voilà pour cette introduction. Si vous avez bien suivi, le reste n’est pas plus complexe.

Quelques liens :

Site officiel en français de MySQL : www-fr.mysql.com

Documentation en français (V5.0) : dev.mysql.com/doc/refman/5.0/fr/index.html

Php France : www.phpfrance.com




Fog Of War
Jeu de voiture
Jeu de combats
Jeu de vampires

 

.:: Magazine réalisé par Prélude :: Partenaires : Gamers'room - PBeM News - AFC - jeux-web.com - PBeM Exchange ::.