Envoie une requête SQL à un serveur MySQL
resource mysql_query
(string query, resource
link_identifier
)
mysql_query() envoie une requête SQL à
la base de données actuellement active sur le serveur MysQL. Si
link_identifier n'est pas précisé,
la dernière connexion est utilisée. Si aucune connexion n'a
été ouverte, la fonction tentera d'en ouvrir une, avec la fonction
mysql_connect() mais sans aucun paramètre
(c'est-à-dire avec les valeurs par défaut).
mysql_query() retourne TRUE ou
FALSE, pour indiquer le succès ou l'échec
de la requête. En cas de retour TRUE, la
requête était valide et a pu être exécuté
sur le serveur. Cela n'indique pas le nombre de lignes affectées,
ou retournées. Il est parfaitement possible qu'une requête
valide n'affecte aucune ligne ou ne retourne aucune ligne.
L'exemple suivant est syntaxiquement invalide, ce qui conduit
mysql_query() à l'échec et retourne
FALSE:
Mysql_query()
<?php
$result = mysql_query ("SELECT * WHERE 1=1")
or die ("Requête invalide");
?>
L'exemple suivant est sémantiquement invalide si my_col
n'est pas une colonne de la table my_tbl, ce qui conduit
mysql_query() à l'échec et retourne
FALSE :
Mysql_query()
<?php
$result = mysql_query ("SELECT my_col FROM my_tbl")
or die ("Requête invalide");
?>
mysql_query() échouera aussi et retournera aussi
FALSE si les droits d'accès ne sont pas suffisants.
En supposant que la requête réussisse, vous pouvez appeler
mysql_affected_rows() pour connaître le nombre de lignes
affectées (pour les commandes DELETE, INSERT, REPLACE, ou UPDATE ).
Pour les commandes SELECT , mysql_query() retourne un
identifiant de résultat que vous pouvez passer à
mysql_result(). Lorsque vous avez terminé
avec le résultat, libérez la mémoire avec
mysql_free_result().
Voir aussi
mysql_affected_rows(),
mysql_unbuffered_query(),
mysql_db_query(),
mysql_free_result(),
mysql_result(),
mysql_select_db() et
mysql_connect().