Home
Accueil
Downloads
Téléchargements
Forums
Forums
Your Account
Votre compte
Menu
· Accueil ·

· Communication ·
  · Forums
  · Messages privés
  · Contactez nous
  · Recommendez nous
  · Sondages
  · Les projets

· Nouvelles ·Stats
  · Sujets
  · Ecrire un article
  · Articles archivés
  · Articles RSS
  · Lettre de sécurité
  · Archive de lettres

· Téléchargements ·
  · Accueil
  · Nouveautés
  · Mises à jour
  · Thêmes

· Outils ·
  · Outils divers
  · Convertisseur de temps
  · Table de caractères
  · Générateur de boutons
  · Compresseur Javascript

· Documentation ·
  · Wiki
  · Questions/Réponses
  · Documents
  · Manuel PHP-Nuke
  · Manuel PHP
  · Manuel PEAR
  · Encyclopédies

· Liens ·
  · Nos liens
  · Nos fluxs RSS
  · Partenaires
  · Votre publicité
  · Sitemap
  · Mes bannières

· Infos ·
  · Rechercher
  · Votre compte
  · Liste des membres
  · Carte des membres
  · Top

· Divers ·
  · Météo
  · Galeries
  · Statistiques Phpnuke
  · MS Analysis


ifx_query

ifx_query

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

ifx_query -- Envoie une requête Informix

Description

resource ifx_query ( string query, resource link_identifier [, int cursor_type [, mixed blobidarray]] )

ifx_query() retourne un identifiant valide 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é par d'autres fonctions pour lire les résultats. Pour un exemple, reportez-vous à ifx_affected_rows() afin de 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.

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 est 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. Ces identifiants peuvent être une chaîne ou un fichier, suivant la configuration (voir plus loin).

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("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);
?>

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);
?>

Voir aussi ifx_connect().


Manuel PHP pour PHP-Nuke © www.stefvar.com
Syndiquez notre contenu RSS, Atom, etc..
PHP-Nuke © 2007Reproduction interdite sans autorisation de ma part www.stefvar.com Copyright © 2008Thème iCGstation
Site français de la communauté PragmaMx