Comprendre le bitcoin, l'intelligence artificielle, faire un site web... En 3 minutes en vidéo!

Connexion à une base de données MySQL & exécution de requêtes

Tutoriaux > PHP / MySQL > Connexion à une base de données MySQL & exécution de requêtes

Connexion à une base de données MySQL & exécution de requêtes
Les premiers pas pour se connecter à votre base de données et exécuter une première requête SQL

Une fois l'installation de MySQL faite, il faut prendre connaissance du fonctionnement de son utilisation depuis PHP.

Connexion à la base de données



La fonction mysql_connect permet d'établir la connexion avec le serveur MySQL et est nécessaire pour toutes actions.

host = adresse du serveur (localhost par exemple)
user = nom d'utilisateur de connexion
pass = mot de passe de connexion

$connexion = mysql_connect("host","user","pass");
$connexion = mysql_connect("localhost","root","");



Sélection d'une base de données



Pour sélectionner une BDD, il suffit d'utiliser la fonction mysql_select_db.

database = nom de la BDD

$db = mysql_select_db("database");


Exécuter une requête


Une fois la connexion établie vous pouvez exécuter des requêtes en utilisant la fonction mysql_query.

$requete = mysql_query("REQUETE");
$select = mysql_query("SELECT * FROM table;");



Pour afficher le résultat de notre requete plusieurs possibilités existent, la plus courante (mysql_fetch_array) consiste à afficher ce qu'on appelle un "tableau de résultats". C'est à dire que lorsqu'on selectionne plusieurs champs il faut pouvoir identifier le résultat de chacun d'eux :

$row = mysql_fetch_array($requete);
$colonne1 = $row['colonne1'];
$colonne2 = $row['colonne2'];
$colonne3 = $row['colonne3'];

$r = mysql_fetch_array($select);
$id = $r['id'];
$login = $r['login'];
$mail = $r['mail'];


Gestion des erreurs et sécurité


Il se peut que vous fassiez une erreur dans votre requête ... si si ça arrive ! Mais comment le savoir... ? tout simplement en ajoutant l'instruction or die (mysql_error()), exemple :

$select = mysql_query("SELECT * FROM table;");
if(!$select) { die(mysql_error()); }



Par ailleurs pour des raisons de sécurité et de résultat il est préférable d'ajouter des "`" (Alt Gr + 7) aux extrémités des noms de champs et tables.

$select = mysql_query("SELECT * FROM `table`;");
if(!$select) { die(mysql_error()); }



Fermer la connexion après l'utilisation



Il n'est pas nécessaire de fermer chaque connexion puisque cela est fait automatiquement mais cela rend le code plus propre. Pour cela il faut utiliser la fonction mysql_close.

mysql_close();



Par Pouzy , Le 24 Juin 2005 à 14h18
Ce tutoriel est la propriété d'Aidoweb et ne peut en aucun cas être copié.

Retour à PHP / MySQL

Ajouter un commentaire

Suite a un fort volume de spam, les commentaires d'invités sont pour le moment désactivés. Vous devez vous inscrire ou vous identifier pour pouvoir commenter cet article, ou demander du support.

Lectures recommandées

Commentaires sur cet article

maxime - Le 05 Août 2010 à 08h30

// attention je presise mon site et sans extention grace au .htaccess
Options +MultiViews
RewriteEngine on
ForceType application/x-httpd-php

maxime - Le 05 Août 2010 à 08h27

bon heu commen sa ?
<?PHP
$connexion = mysql_connect("localhost","root","");
$db = mysql_select_db("games");
mysql_query(" INSERT INTO games (membre_pseudo, membre_mdp, membre_date, membre_msn, membre_avatar)
VALUES ('".$pseudo."' , '".$mdp."' , '".$mail."' , '".$date."' , '".$mon."' ) " );

//Et on définit les variables de sessions
$_SESSION['pseudo'] = $pseudo;
$_SESSION['id'] = mysql_insert_id();
$_SESSION['level'] = 1;
if(isset($db['true']))
{
header('Location: me');
}
else
{
echo "Insripîon mon reusie";
}
mysql_close();
?>

Orgnobi - Le 10 Juin 2006 à 13h05

Elle est faite automatiquement par les serveurs lorsque l'on appelle mysql_close()
Mais Si on ne ferme pas tout de suite la connection, il vaut mieux l'utiliser.

CrowkaiT - Le 10 Juillet 2005 à 15h18

Cette fonction libère la mémoire, et décharge le serveur.

mysql_free_result($select);

Tutoriaux > PHP / MySQL > Connexion à une base de données MySQL & exécution de requêtes