mysql_query

(PHP 4, PHP 5)

mysql_queryEnvoie une requ�te � un serveur MySQL

Description

resource mysql_query ( string $query [, resource $link_identifier ] )

mysql_query() envoie une seule requ�te (les requ�tes multiples ne sont pas support�es) � la base de donn�es courante sur le serveur associ� avec le link_identifier sp�cifi�.

Liste de param�tres

query

Une requ�te SQL

La cha�ne de requ�te ne doit pas se terminer par un point-virgule.

link_identifier

La connexion MySQL. S'il n'est pas sp�cifi�, la derni�re connexion ouverte avec la fonction mysql_connect() sera utilis�e. Si une telle connexion n'est pas trouv�e, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait �t� appel�e sans argument. Si aucune connexion n'est trouv�e ou �tablie, une alerte E_WARNING est g�n�r�e.

Valeurs de retour

Pour les requ�tes du type SELECT, SHOW, DESCRIBE, EXPLAIN et les autres requ�tes retournant un jeu de r�sultats, mysql_query() retournera une ressource en cas de succ�s, ou FALSE en cas d'erreur.

Pour les autres types de requ�tes, INSERT, UPDATE, DELETE, DROP, etc., mysql_query() retourne TRUE en cas de succ�s ou FALSE en cas d'erreur.

La ressource de r�sultat retourn�e doit �tre pass�e � la fonction mysql_fetch_array(), et les autres fonctions permettant d'explorer le r�sultat des tables, pour acc�der aux donn�es retourn�es.

Utilisez mysql_num_rows() pour trouver le nombre de lignes retourn�es pour une requ�te du type SELECT ou mysql_affected_rows() pour trouver le nombre de lignes affect�es par les requ�tes du type DELETE, INSERT, REPLACE, ou UPDATE.

mysql_query() �chouera et retournera FALSE si l'utilisateur n'a pas les autorisations n�cessaire pour acc�der � la (aux) table(s) r�f�renc�e(s) par la requ�te.

Exemples

Exemple #1 Requ�te invalide

La requ�te suivante est syntaxiquement invalide, donc mysql_query() va �chouer et retourner FALSE.

<?php
$result 
mysql_query('SELECT * WHERE 1=1');
if (!
$result) {
    die(
'Requ�te invalide : ' mysql_error());
}

?>

Exemple #2 Requ�te valide

La requ�te suivante est valide, donc mysql_query() va retourner une ressource.

<?php
// Ceci peut �tre demand� par un utilisateur, par exemple :
$firstname 'fred';
$lastname  'fox';

// Formulation de la requ�te
// C'est la meilleur fa�on d'ex�cuter une requ�te SQL
// Pour plus d'exemples, voir mysql_real_escape_string()
$query sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
    
mysql_real_escape_string($firstname),
    
mysql_real_escape_string($lastname));

// Ex�cution de la requ�te
$result mysql_query($query);

// V�rification du r�sultat
// Ceci montre la requ�te envoy�e � MySQL ainsi que l'erreur. Utile pour d�boguer.
if (!$result) {
    
$message  'Requ�te invalide : ' mysql_error() . "\n";
    
$message .= 'Requ�te compl�te : ' $query;
    die(
$message);
}

// Utilisation du r�sultat
// Tenter d'affichager $result ne vous donnera pas d'informations contenues dans la ressource
// Une des fonctions MySQL de r�sultat doit �tre utilis�e
// Voir aussi mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($row mysql_fetch_assoc($result)) {
    echo 
$row['firstname'];
    echo 
$row['lastname'];
    echo 
$row['address'];
    echo 
$row['age'];
}

// Lib�ration des ressources associ�es au jeu de r�sultats
// Ceci est effectu� automatiquement � la fin du script
mysql_free_result($result);
?>

Voir aussi