Fonctions Informix
PHP Manual

ifx_query

(PHP 4, PHP <=5.2.0)

ifx_queryEnvoie une requête Informix

Description

resource ifx_query ( string $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, soit IFX_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(00"Colonne Text en mémoire");
$byteid ifx_create_blob(10"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);
?>

Voir aussi


Fonctions Informix
PHP Manual