ifx_query
(PHP 4, PHP 5 < 5.2.1)
ifx_query — Envoie une requête Informix
Description
$query
, resource $link_identifier
[, int $cursor_type
[, mixed $blobidarray
]] )
ifx_query() envoie une requête au serveur
actif courant, associé à l'identifiant de connexion
link_identifier
.
Pour les requêtes de type SELECT, un pointeur est déclaré, et ouvert. Les autres seront exécutées immédiatement.
Pour les autres requêtes, le nombre de lignes affectées (estimé ou exact) est enregistré pour être lu avec ifx_affected_rows().
Si le contenu d'une colonne est de type TEXT (ou BYTE) vous pouvez aussi utiliser les fonctions ifx_textasvarchar(1) et ifx_byteasvarchar(1). Cela vous permettra d'utiliser les colonnes TEXT ( ou BYTE ) comme des colonnes de type VARCHAR (mais plus long, tout de même), et vous n'aurez pas besoin de l'identifiant de BLOB.
Avec les fonctions ifx_textasvarchar(0) et ifx_byteasvarchar(0) (valeurs par défaut), les requêtes SELECT retourneront des identifiants de BLOB. Ces identifiants peuvent être une chaîne ou un fichier, suivant la configuration (voir plus loin).
Liste de paramètres
-
query
-
La requête, sous la forme d'une chaîne de caractères.
-
link_identifier
-
L'identifiant du lien.
-
cursor_def
-
Ce paramètre optionnel vous permet de choisir le type de curseur, scroll et/ou hold. C'est un masque qui peut être soit
IFX_SCROLL
, soitIFX_HOLD
, ou les deux. Si vous ne fournissez pas ce paramètre, le curseur est un curseur normal séquentiel. -
blobidarray
-
Si vous avez une colonne de type BLOB (BYTE ou TEXT) dans une requête de modification, vous pouvez passer un paramètre
blobidarray
qui contiendra les identifiants des BLOB à modifier, et vous devrez remplacer cette colonne par un point d'interrogation (?) dans la requête.
Valeurs de retour
Retourne un identifiant de résultats Informix en cas de succès, ou
FALSE
si une erreur survient.
Exemples
Exemple #1 Afficher toutes les lignes de la table "ordres" sous la forme html du serveur IFX
<?php
ifx_textasvarchar(1); // Utilisation du mode "text mode" pour les BLOBs
$res_id = ifx_query("select * from orders", $conn_id);
if (! $res_id) {
printf("Can't select orders : %s\n<br />%s<br />\n", ifx_error(), ifx_errormsg());
die;
}
ifx_htmltbl_result($res_id, "border=\"1\"");
ifx_free_result($res_id);
?>
Exemple #2 Insertion de valeurs dans la table "catalogue" IFX
<?php
// Créer un identifiant de BLOB pour une colonne de type BYTE et une de type TEXT
$textid = ifx_create_blob(0, 0, "Colonne Text en mémoire");
$byteid = ifx_create_blob(1, 0, "Colonne Byte en mémoire");
// Stocke l'identifiant du BLOB dans le tableau BLOBid
$blobidarray[] = $textid;
$blobidarray[] = $byteid;
// Exécute la requête
$query = "insert into catalog (stock_num, manu_code, " .
"cat_descr,cat_picture) values(1,'HRO',?,?)";
$res_id = ifx_query($query, $conn_id, $blobidarray);
if (! $res_id) {
/* ... erreur ... */
}
// Libération du résultat
ifx_free_result($res_id);
?>
Version en cache
22/11/2024 22:16:43 Cette version de la page est en cache (à la date du 22/11/2024 22:16:43) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-ifx-query.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.