If you use a select statement that
identifies fields according to which
table they come from, i.e.
select tab1.name, tab2.phone from
tab1, tab2
where tab1.id = tab2.id
then the associative keys of the array returned by ifx_fetch_row will not include the table names. For the example above, if you used
$row = ifx_fetch_row ($rid);
then the first field in the
returned array would be $row["name"],
not $row["tab1.name"] .
ifx_fetch_row
(PHP 4, PHP <=5.2.0)
ifx_fetch_row — Retourne une ligne sous la forme d'un tableau énuméré
Description
Retourne une ligne de données d'un résultat associé à l'identifiant de résultat
result_id.
Les appels ultérieurs à ifx_fetch_row()
retourneront la ligne suivante, ou FALSE s'il n'y a plus de ligne.
Liste de paramètres
-
result_id -
result_idest un identifiant valide de résultat, retourné par ifx_query() ou ifx_prepare() (Requêtes SELECT seulement !). -
position -
positionest un paramètre optionnel, pour une opération de lecture d'informations sur un pointeur de type "scroll": NEXT, PREVIOUS, CURRENT, FIRST, LAST ou encore un nombre. Si vous spécifiez un nombre, la ligne d'index absolu sera retournée. Ce paramètre est optionnel, et ne fonctionne qu'avec les pointeurs de type "scroll".
Valeurs de retour
retourne un tableau associatif qui contient la ligne retournée ou
FALSE s'il ne reste plus de lignes à lire, ou s'il a eu une erreur.
Les colonnes de types BLOB sont retournées sous la forme d'un identifiant à utiliser avec ifx_get_blob() à moins que vous n'ayez utilisé la fonction ifx_textasvarchar() ou ifx_byteasvarchar() et, dans ce cas, les BLOB seront retournés sous forme de chaîne.
Exemples
Exemple #1 Exemple avec ifx_fetch_row()
<?php
$rid = ifx_prepare ("select * from emp where name like " . $name,
$connid, IFX_SCROLL);
if (! $rid) {
/* ... erreur ... */
}
$rowcount = ifx_affected_rows($rid);
if ($rowcount > 1000) {
printf ("Trop de lignes dans le résultat. (%d)\n<br />", $rowcount);
die ("Restreignez votre requête. <br />\n");
}
if (! ifx_do ($rid)) {
/* ... erreur ... */
}
$row = ifx_fetch_row ($rid, "NEXT");
while (is_array($row)) {
for (reset($row); $fieldname=key($row); next($row)) {
$fieldvalue = $row[$fieldname];
printf ("%s = %s,", $fieldname, $fieldvalue);
}
printf("\n<br />");
$row = ifx_fetch_row($rid, "NEXT");
}
ifx_free_result ($rid);
?>
