Manuel PHP

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, 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.

  1. <?php
  2. $result = mysql_query('SELECT * WHERE 1=1');  
  3. if (!$result) { 
  4.    die('Requête invalide : ' . mysql_error());  
  5. }  
  6.  
  7. ?> 

Exemple #2 Requête valide

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

  1. <?php
  2. // Ceci peut être demandé par un utilisateur, par exemple :
  3. $firstname = 'fred';  
  4. $lastname = 'fox';  
  5.  
  6. // Formulation de la requête
  7. // C'est la meilleur façon d'exécuter une requête SQL
  8. // Pour plus d'exemples, voir mysql_real_escape_string()
  9. $query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'", 
  10.    mysql_real_escape_string($firstname), 
  11.    mysql_real_escape_string($lastname));  
  12.  
  13. // Exécution de la requête
  14. $result = mysql_query($query);  
  15.  
  16. // Vérification du résultat
  17. // Ceci montre la requête envoyée à MySQL ainsi que l'erreur. Utile pour déboguer.
  18. if (!$result) { 
  19.    $message = 'Requête invalide : ' . mysql_error() . "\n"; 
  20.    $message .= 'Requête complète : ' . $query; 
  21.    die($message);  
  22. }  
  23.  
  24. // Utilisation du résultat
  25. // Tenter d'affichager $result ne vous donnera pas d'informations contenues dans la ressource
  26. // Une des fonctions MySQL de résultat doit être utilisée
  27. // Voir aussi mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
  28. while ($row = mysql_fetch_assoc($result)) { 
  29.    echo $row['firstname']; 
  30.    echo $row['lastname']; 
  31.    echo $row['address']; 
  32.    echo $row['age'];  
  33. }  
  34.  
  35. // Libération des ressources associées au jeu de résultats
  36. // Ceci est effectué automatiquement à la fin du script
  37. mysql_free_result($result);  
  38. ?> 


Remonter Remonter
Jamma Play - L'éditeur javascript - CSS - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique