PHP
PHP / MySql

Recherche
 
ManuelPHP.com

dbx_fetch_row
<<<
dbx_query dbx_sort
>>>

8.25 Fonctions dbx
8 Référence des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes pré-définies
dbx_close
dbx_compare
dbx_connect
dbx_error
dbx_escape_string
dbx_fetch_row
->dbx_query
dbx_sort

8.25.13 dbx_query()Envoie une requête et lit tous les résultats DBX

[ Exemples avec dbx_query ]   PHP 4 >= 4.0.6, PHP 5 <= 5.0.4

mixed  dbx_query ( object   link_identifier , string   sql_statement , int   flags )

dbx_query retourne un objet dbx_result_object ou 1 en cas de succès (un objet de résultat ne sera retourné que pour les requêtes SQL qui retournent un résultat), ou 0 en cas d'erreur. L'objet résultant n'est retourné que si la requête donnée par sql_statement produit un jeu d'enregistrements. (i.e. une requête SELECT, même si le résultat est vide). La requête est exécuté sur la connexion link_identifier .

Comment gérer la valeur retournée par dbx_query

<?php
$link   
= dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die(
"Impossible de se connecter");

$result = dbx_query($link, 'SELECT id, parentid, description FROM table');

if (
is_object($result) ) {
    
// ... Faire quelque chose d'utile ici
    // premièrement, afficher les noms des champs et leurs types
    // et tracer un tableau avec les valeurs retournées
} else {
    exit(
"La requête a échoué");
}

dbx_close($link);
?>

Le paramètre flags sert à contrôler la quantité d'informations retournée. Il peut être n'importe quelle combinaisons par l'opérateur OR des constantes ci-après. Les constantes remplacent la configuration du php.ini .

    DBX_RESULT_INDEX
    Ce paramètre est toujours activé, c'est à dire que l'objet retourné dispose du membre data qui est un tableau à deux dimensions, indexé numériquement. Par exemple, dans l'expression data[2][3] 2 représente le numéro de ligne et 3 représente le numéro de colonne. Les premières lignes et colonnes sont indexées à 0.

    Si DBX_RESULT_ASSOC est aussi spécifié, l'objet retourné contient en plus les informations liées à DBX_RESULT_INFO , même s'il n'a pas été spécifié.

    DBX_RESULT_INFO
    Cette option fournit des informations sur les colonnes, comme les noms des champs et leur type.
    DBX_RESULT_ASSOC
    Cette option fait que la valeur des champs peut être accessible avec le nom de la colonne, utilisé comme clé dans le tableau du membre data .

    Les résultats ainsi associés sont des références sur les valeurs identifiées par les index numériques, ce qui fait que modifier data[0][0] fait que data[0]['nom_de_la_premiere_colonne'] sera aussi modifié.

    DBX_RESULT_UNBUFFERED (PHP 5)
    Cet option ne crée pas de propriété data et la propriété rows sera initialement positionnée à 0. Utilisez ce flag pour des jeux d'enregistrements importants et utilisez dbx_fetch_row pour retrouver le résultat ligne par ligne.

    dbx_fetch_row retournera les lignes qui se conforment au flag de la requête. Par ailleurs, cela mettra à jour les lignes à chaque appel de la fonction.

    DBX_COLNAMES_UNCHANGED (disponible depuis PHP 4.3.0)
    La casse du nom des colonnes retournées ne sera pas modifiée.
    DBX_COLNAMES_UPPERCASE (disponible depuis PHP 4.3.0)
    Les noms de colonnes seront mis en majuscules.
    DBX_COLNAMES_LOWERCASE (disponible depuis PHP 4.3.0)
    Les noms de colonnes seront mis en minuscules.
Notez que DBX_RESULT_INDEX est toujours active, indépendamment de la valeur de flags . Cela signifie que seules les combinaisons suivantes sont utiles :
  • DBX_RESULT_INDEX
  • DBX_RESULT_INDEX | DBX_RESULT_INFO
  • DBX_RESULT_INDEX | DBX_RESULT_INFO | DBX_RESULT_ASSOC - c'est la valeur par défaut, si flags est omis.

Un objet dbx_result_object a 5 membres (éventuellement 4, suivant les valeurs de flags ) :

    handle
    Ceci est une ressource représentant la connexion à la base de données, et il peut être utilisé (si nécessaire) avec les fonctions spécialisées de la base.
    Exemple avec dbx_query
    
    <?php
    $result
    = dbx_query($link, "SELECT id FROM table");
    mysql_field_len($result->handle, 0);
    ?>
    cols et rows
    Ces deux membres contiennent respectivement le nombre de colonnes et de lignes.
    Nombre de lignes et colonnes avec dbx_query
    
    <?php
    $result
    = dbx_query ($link, 'SELECT id FROM table');
    echo
    $result->rows; // nombre de lignes
    echo $result->cols; // nombre de champs
    ?>
    info (optionnel)
    Ce membre est retourné uniquement si DBX_RESULT_INFO ou DBX_RESULT_ASSOC sont spécifiés dans le paramètre flags . C'est un tableau à deux dimensions, avec deux lignes ( name et type ) pour lire les informations de colonnes.

    Listes les types et noms de colonnes avec dbplus
    
    <?php
    $result
    = dbx_query ($link, 'SELECT id FROM table',
                         
    DBX_RESULT_INDEX | DBX_RESULT_INFO);

    for (
    $i = 0; $i < $result->cols; $i++ ) {
        echo
    $result->info['name'][$i] . "\n";
        echo
    $result->info['type'][$i] . "\n";  
    }
    ?>
    data
    Ce membre contient les résultats obtenus, possiblement associés avec le nom de colonne, en fonction de la valeur du paramètre flags . Si DBX_RESULT_ASSOC est activé, il est possible d'utiliser aussi $result->data[2]["nom_de_la_colonne"] .

    Afficher le contenu d'une base avec dbplus
    
    <?php
    $result
    = dbx_query ($link, 'SELECT id, parentid, description FROM table');

    echo
    "<table>\n";
    foreach (
    $result->data as $row ) {
        echo
    "<tr>\n";
        foreach (
    $row as $field ) {
            echo
    "<td>$field</td>";
        }
        echo
    "</tr>\n";
    }
    echo
    "</table>\n";
    ?>
    Comment utiliser les requêtes UNBUFFERED
    
    <?php

    $result
    = dbx_query ($link, 'SELECT id, parentid, description FROM table', DBX_RESULT_UNBUFFERED);

    echo
    "<table>\n";
    while (
    $row = dbx_fetch_row($result)) {
        echo
    "<tr>\n";
        foreach (
    $row as $field) {
            echo
    "<td>$field</td>";
        }
        echo
    "</tr>\n";
    }
    echo
    "</table>\n";

    ?>

Note

Reportez-vous aussi à la documentation de la base de données que vous utilisez.

Les noms des colonnes pour les requêtes sur des bases de données Oracle sont retournés en minuscules.

Voir aussi dbx_fetch_row , dbx_escape_string et dbx_connect .

<< dbx_query >>
dbx_fetch_row Fonctions dbx dbx_sort





Google

Services webmasters

Les manuels
 

ManuelPHP.com © 2003-2012 Tigersun - Crédits
Webmaster Site Internet - Télécharger des Logiciels - Programme TV - Entraide Informatique - Agence de Communication
2018-10-15