Sommaire
Informix
ifx_connect
ifx_pconnect
ifx_close
ifx_query
ifx_prepare
ifx_do
ifx_error
ifx_errormsg
ifx_affected_rows
ifx_getsqlca
ifx_fetch_row
ifx_htmltbl_result
ifx_fieldtypes
ifx_fieldproperties
ifx_num_fields
ifx_num_rows
ifx_free_result
ifx_create_char
ifx_free_char
ifx_update_char
ifx_get_char
ifx_create_blob
ifx_copy_blob
ifx_free_blob
ifx_get_blob
ifx_update_blob
ifx_blobinfile_mode
ifx_textasvarchar
ifx_byteasvarchar
ifx_nullformat
ifxus_create_slob
ifx_free_slob
ifxus_close_slob
ifxus_open_slob
ifxus_tell_slob
ifxus_seek_slob
ifxus_read_slob
ifxus_write_slob
|
6.43.4 ifx_query[ Exemples avec ifx_query ] PHP 3>= 3.0.3, PHP 4 >= 4.0.0Description
int ifx_query(string query ,[int link_identifier ],[int cursor_type ],[mixed
blobidarray
])
ifx_query retourne un identifiant positif de
résultat Informix en cas de succès, et FALSE en cas d'erreur.
L'entier de type "identifiant de résultat" est utilisé par4
d'autres fonctions pour lire les résultats. Pour un exemple,
reportez-vous à ifx_affected_rows pour
connaître le nombre de lignes affectées.
ifx_query envoie une requête au serveur
actif courant, associé à l'identifiant de connexion
link_identifier. Si
link_identifier n'est pas fourni,
la dernière connexion ouverte sera utilisée. Si aucune connexion
n'a été ouverte, ifx_query va essayer d'en
créer une, en appelant ifx_connect.
Exécute la requête query sur la connexion
conn_id. Pour les requêtes de type SELECT, un
pointeur est déclaré, et ouvert. L'option
cursor_type permet de choisir le type de
pointeur, "scroll" et/ou "hold". cursor_type accepte
les deux valeurs séparées, et leur combinaison. Les
requêtes d'autre type sont à exécution immédiate.
Le nombre de lignes affectées (estimé ou exact) est
enregistré pour être lu avec ifx_affected_rows.
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.
Si le contenu d'une colonne de type TEXT (ou BYTE) vous pouvez
aussi utiliser les fonctions ifx_textasvarchar et
ifx_byteasvarchar. 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 et
ifx_byteasvarchar (valeurs par défaut), les
requêtes SELECT retourneront des identifiants de BLOB. Cet identifiant
peut être une chaîne ou un fichier, suivant la configuration
(voir plus loin).
Voir aussi
ifx_connect.
Afficher toutes les lignes de la table "ordres" sous la forme html
|
ifx_textasvarchar(1); // Utilisation du mode "text mode" pour les BLOBs $res_id = ifx_query("select * from orders", $conn_id); if (! $res_id) { printf("Impossible de sélectionner des lignes dans : %s\n<br>%s<br>\n", ifx_error()); ifx_errormsg(); die; } ifx_htmltbl_result($res_id, "border=\"1\""); ifx_free_result($res_id);
| Insertion de valeurs dans la table "catalogue" |
<?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; // éxé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); ?>
|
|