48 inscrits



 Niveau: Débutant
 Visites de la page: 3005
 Commentaire: [0]Commentaires
  Date d'ajout: [07-07-2005]
  Auteur: Webmaster


 Sommaire :


 Introduction :

Dans ce bref et simple article, nous allons vous montrer la facilité avec laquelle PHP vous permet de vous connecter aux bases de données et plus particulièrement à MySQL. Nous verrons de même comment sélectionner ou créer une base de donnée ainsi que gérer les erreurs MySQL.

 Connexion au serveur de bases de données :

Avant de travailler ou d'envoyer des requêtes à votre base de données, vous devez avant tout vous connecter au serveur. Pour cela, on utilise la fonction mysql_connect(). Cette fonction accepte trois chaînes en argument: le nom de la machine, le nom de l'utilisateur et le mot de passe. Le nom de la machine est éventuellement suivi de ":" et du numéro de port.

   Code:
<?php
mysql_connect
("chaîne host""chaîne utilisateur""chaîne mot de passe");
?>


La déconnexion se fait avec la fonction mysql_close() qui prend en argument la variable de connexion à fermer. Cependant, cette dernière fonction n'est pas vraiment obligatoire, car par défaut la connexion ne prend fin que lors de l'achèvement de l'exécution du script.

   Code:
<?php
//On ouvre la connexion
$link mysql_connect("localhost""mysql_user""mysql_password");

if ( !
$link 
    {
    die(
"Impossible de se connecter à MySQL");
    }
echo 
'Connexion réussie';

//On ferme la connexion
mysql_close($link);
?>


 Créer / Sélectionner / Supprimer une base de données :

Une fois que vous êtes connectés au serveur, vous pouvez soit créer une nouvelle base de données à l'aide de la fonction mysql_create_db(), soit en sélectionner un avec mysql_select_db(), soit en supprimer une avec mysql_drop_db(). Pour ces trois fonctions, vous devez spécifier une chaîne et un argument lien (variable de connexion). Si vous omettez l'argument lien, la dernière connexion ouverte sera utilisée.

   Code:
<?php
//On ouvre la connexion
$link mysql_connect("localhost""mysql_user""mysql_password"
     or die(
"Impossible de se connecter à MySQL");
echo 
'Connexion réussie';

//Soit on créé une bdd
if ( mysql_create_db("my_db"$link) ) 
    {
    echo 
'Base de données créée';
    } else {
    echo 
'Erreur lors de la création de la base';
    }

//Soit on sélectionne une bdd
if ( !(mysql_select_db("my_db"$link)) ) 
    {
    die (
"Impossible d'utiliser la base");
    }
    
//Soit on supprime une bdd    
if ( mysql_drop_db("my_db"$link) ) 
    {
    echo 
'Base de données supprimée';
    } else {
    echo 
'Erreur lors de la suppression de la base';
    }

//On ferme la connexion
mysql_close($link);
?>


Remarque: Il existe un quatrième argument new_link à la fonction mysql_connect (disponible depuis PHP 4.2.0) permettant d'ouvrir une nouvelle connection même si la fonction a déjà été appelée avant avec les mêmes paramètres. Autrement dit, cela permet par exemple de travailler avec deux bases de données en même temps. Cet argument est par défaut à FALSE, il suffit donc de le mettre à TRUE:

   Code:
<?php 
//On ouvre la 1ère connexion et on sélectionne la bdd1
$link mysql_connect("localhost1""mysql_user1""mysql_password1"TRUE
     or die(
"Impossible de se connecter à MySQL1"); 
echo 
'Connexion 1 réussie'

mysql_select_db("my_bdd1"$link); 

//On ouvre la 2e connexion et on sélectionne la bdd2
$link2 mysql_connect("localhost2""mysql_user2""mysql_password2"TRUE
     or die(
"Impossible de se connecter à MySQL2"); 
echo 
'Connexion 2 réussie'

mysql_select_db("my_bdd2"$link2); 

//On ferme les connexions 
mysql_close($link); 
mysql_close($link2); 
?>


 Gestion des erreurs MySQL :

Jusqu'à présent, nous avons utilisé die() pour mettre fin à l'exécution du script dans le cas où un problème pouvait se produire. Cependant, vous pourriez avoir plus d'informations sur l'erreur produite en utilisant les fonctions mysql_errno() et mysql_error(). La fonction mysql_errno() renvoie le numéro de l'erreur générée lors de la dernière action sur la base de données. La fonction mysql_error() récupère la description texte d'une erreur générée par la dernière action sur la base de données. Elles acceptent toutes les deux l'argument lien (facultatif). Reprenons les exemples précédents, et modifions les en introduisant ces nouvelles fonctions:

   Code:
<?php
//On ouvre la connexion
$link = @mysql_connect("localhost""mysql_user""mysql_password"
     or die(
'Impossible de se connecter : ' mysql_error());
echo 
'Connexion réussie<br>';

//On sélectionne une bdd
mysql_select_db("my_db"$link)
    or die (
'Erreur '.mysql_errno().' : ' mysql_error());
    
//On ferme la connexion
mysql_close($link);
?>

NB: L'utilisation de l'opérateur @ permet de supprimer les messages d'erreur que nous voulons simplement gérer avec la fonction mysql_error() plus explicite...

 Conclusion :

Vous voici à présent capable d'établir une connexion avec un serveur MySQL mais aussi capable de gérer proprement les erreurs pour mieux en connaître l'origine... C'est un bon début !


 Si vous avez besoin d'aide, veuillez consulter les forums
 Pour proposer un article PHP, cliquez ici
 Retour à la liste des articles

 Flux RSS des articles PHP / MySQL
 Lien permanent

.:: Easy-Script.com © Ce texte est la propriété de son auteur.
Toute reproduction est interdite ::.


.: Easy-Script © 2002/2008 - Tous droits réservés - CNIL N°1098778 - Gén en 1.042 sec :.                        Top