Manuel PHP
Précédent |  | Suivant

# mysql_query

(PHP 3, PHP 4 , PHP 5)

mysql_query -- Envoi une requête à un serveur MySQL

## Description

resource mysql_query ( string query [, resource link_identifier] )

mysql_query() envoie une requête (au serveur MySQL actuellement actif 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

  Une connexion retournée par la fonction mysql_connect().

  Si link_identifier n'est pas spécifié, la dernière connexion ouverte sera utilisée. Si aucune connexion n'est ouverte, la fonction tente d'en établir une en appelant la fonction mysql_connect() avec aucun argument et l'utilise. Le résultat de la requête est mis en cache.

## Valeurs de retour

Pour les requêtes du type SELECT, SHOW, DESCRIBE ou EXPLAIN, mysql_query() retournera une ressource en cas de succès, et `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 et `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 requpetes 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

mysql_connect()
mysql_error()
mysql_real_escape_string()
mysql_result()
mysql_fetch_assoc()
mysql_unbuffered_query()

Précédent | Sommaire | Suivant
mysql_ping | Niveau supérieur | mysql_real_escape_string