(PECL CUBRID >= 8.3.1)
cubrid_query â Envoie une requĂȘte CUBRID
La fonction cubrid_query() envoie une seule requĂȘte
(l'envoi de plusieurs requĂȘtes n'est pas supportĂ©) Ă la base de donnĂ©es
active sur le serveur associé avec le paramÚtre conn_identifier
fourni.
queryconn_identifier
Pour les requĂȘtes de type SELECT, SHOW, DESCRIBE, EXPLAIN et autres requĂȘtes
retournant un jeu de résultats, cubrid_query() retourne
une resource en cas de succĂšs, ou false si une erreur survient.
Pour les autres requĂȘtes (INSERT, UPDATE, DELETE, DROP, etc.),
cubrid_query() retourne true en cas de succĂšs, ou false
si une erreur survient.
La ressource de rĂ©sultats retournĂ©e doit ĂȘtre passĂ©e Ă la fonction cubrid_fetch_array(), et autres fonctions gĂ©rant les ressources de rĂ©sultats, afin d'accĂ©der aux donnĂ©es retournĂ©es.
La fonction cubrid_num_rows() permet de trouver le nombre de lignes retournĂ©es par une requĂȘte SELECT ou la fonction cubrid_affected_rows() afin de savoir le nombre de lignes affectĂ©es par une requĂȘte DELETE, INSERT, REPLACE, ou UPDATE.
La fonction cubrid_query() échoue et retourne false
si l'utilisateur n'a pas l'autorisation d'accéder à la table utilisée dans
la requĂȘte.
Exemple #1 RequĂȘte invalide
La requĂȘte suivante n'est littĂ©ralement pas valide, aussi, la fonction
cubrid_query() échoue et retourne false.
<?php
$conn = cubrid_connect('localhost', 33000, 'demodb');
$result = cubrid_query('SELECT * WHERE 1=1');
if (!$result) {
die('RequĂȘte invalide : ' . cubrid_error());
}
?>Exemple #2 RequĂȘte valide
La requĂȘte suivante est valide, aussi, la fonction cubrid_query() retourne une ressource.
<?php
// Ces variables pourraient ĂȘtre fournies par un utilisateur, par exemple
$firstname = 'fred';
$lastname = 'fox';
$conn = cubrid_connect('localhost', 33000, 'demodb');
cubrid_execute($conn,"DROP TABLE if exists friends");
cubrid_execute($conn,"create table friends(firstname varchar,lastname varchar,address char(24),age int)");
cubrid_execute($conn,"insert into friends values('fred','fox','home-1','20')");
cubrid_execute($conn,"insert into friends values('blue','cat','home-2','21')");
// RequĂȘte formelle
// C'est la meilleure façon d'exĂ©cuter une requĂȘte SQL
// Pour plus d'exemples, voir la fonction cubrid_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
cubrid_real_escape_string($firstname),
cubrid_real_escape_string($lastname));
// ExĂ©cution de la requĂȘte
$result = cubrid_query($query);
// Vérifie le résultat
// Montre la requĂȘte envoyĂ©e Ă CUBRID, et l'erreur. Utile pour le dĂ©bogage.
if (!$result) {
$message = 'RequĂȘte invalide : ' . cubrid_error() . "\n";
$message .= 'RequĂȘte complĂšte : ' . $query;
die($message);
}
// Utilisation du résultat
// Le fait de tenter d'afficher $result ne vous donnera pas accĂšs Ă l'information de la ressource
// Une des fonctions de traitement des rĂ©sultats CUBRID doit ĂȘtre utilisĂ©e
// Voir aussi cubrid_result(), cubrid_fetch_array(), cubrid_fetch_row(), etc.
while ($row = cubrid_fetch_assoc($result)) {
echo $row['firstname'];
echo $row['lastname'];
echo $row['address'];
echo $row['age'];
}
// LibÚre les ressources associées avec le jeu de résultats
// Ceci est fait automatiquement Ă la fin du script
cubrid_free_result($result);
?>