fbsql_query

(PHP 4 >= 4.0.6, PHP 5)

fbsql_query -- Exécute une requête sur un serveur FrontBase

Description

resource fbsql_query ( string query [, resource link_identifier [, int batch_size]] )

fbsql_query() envoie la requête query à la base de données courante, sur le serveur représenté par sa connexion link_identifier. Si link_identifier est omis, la dernière connexion ouverte est utilisée. Si aucune connexion n'a été ouverte, fbsql_query() essaie d'établir une connexion en appelant la fonction fbsql_connect() sans aucun argument.

Note : La requête doit être terminée par un point-virgule !

fbsql_query() retourne une ressource en cas de succès, ou FALSE, en cas d'échec. Si TRUE est retourné, cela signifie que la requête est correct et qu'elle peut être exécutée par le serveur. Cela n'indique rien sur le nombre de lignes concernées ou retournées. Il est tout à fait possible qu'une requête réussisse mais qu'aucune ligne ne soit affectée ni retournée.

La requête suivante est invalide, et fbsql_query() échouera puis retournera FALSE:

Exemple 1. Exemple avec fbsql_query()(1)

<?php
$result
= fbsql_query("SELECT * WHERE 1=1;")
    or die(
"Requête invalide");
?>

La requête suivante est invalide si my_col n'est pas une colonne dans la table my_tbl : fbsql_query() échouera puis retournera FALSE :

Exemple 2. Exemple avec fbsql_query()(2)

<?php
$result
= fbsql_query("SELECT my_col FROM my_tbl")
    or die (
"Requête invalide");
?>

fbsql_query() échouera si vous n'avez pas les droits d'accès sur l'une des bases de données utilisées dans la requête.

Lorsque la requête réussit, vous pouvez utilisez fbsql_num_rows() pour savoir combien de lignes ont été retournées par une requête SELECT, ou fbsql_affected_rows() pour les autres requêtes (DELETE, INSERT, REPLACE et UPDATE).

Pour les requêtes SELECT, fbsql_query() retourne une ressource de résultat, que vous pouvez passer à fbsql_result(). Lorsque vous avez fini de lire le résultat, vous pouvez libérer les ressources utilisées en appelant fbsql_free_result(). Cependant, la mémoire sera automatiquement libérée à la fin du script.

Voir aussi fbsql_affected_rows(), fbsql_db_query(), fbsql_free_result(), fbsql_result(), fbsql_select_db() et fbsql_connect().