7.42 Informix
7 Index des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes prédefinies . ifx_affected_rows . ifx_blobinfile_mode . ifx_byteasvarchar . ifx_close . ifx_connect . ifx_copy_blob . ifx_create_blob . ifx_create_char . ifx_do . ifx_error . ifx_errormsg . ifx_fetch_row . ifx_fieldproperties . ifx_fieldtypes . ifx_free_blob . ifx_free_char . ifx_free_result . ifx_get_blob . ifx_get_char . ifx_getsqlca . ifx_htmltbl_result . ifx_nullformat . ifx_num_fields . ifx_num_rows . ifx_pconnect . ifx_prepare ->ifx_query . ifx_textasvarchar . ifx_update_blob . ifx_update_char . ifxus_close_slob . ifxus_create_slob . ifxus_free_slob . ifxus_open_slob . ifxus_read_slob . ifxus_seek_slob . ifxus_tell_slob . ifxus_write_slob
|
7.42.33 ifx_query()Envoie une requête Informix[ Exemples avec ifx_query ] PHP 3>= 3.0.3, PHP 4
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 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("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" 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); ?>
|
|