Services webmasters
Partenaires
Jeux concours gratuits
 
dbx_escape_string
<<<
dbx_query dbx_sort
>>>

7.20 dbx
7 Index des fonctions
 Manuel PHP

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

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

[ Exemples avec dbx_query ]   PHP 4 >= 4.0.6

object  dbx_query ( object   link_identifier , string   sql_statement , long   flags )

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.

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 quelquechose d'utile ici
    // first, print out field names and types
    // then, draw a table filled with the returned field values
}
else if (
$result == 1 ) {
    echo(
"Requête exécutée correctement, mais pas de résultat.");
}
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 si 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 quie fait que modifier data[0][0] fait que data[0]['nom_de_la_premiere_colonne'] sera aussi modifié.

    DBX_COLNAMES_UNCHANGED (disponible depuis PHP 4.3.0)
    La casse du nom des colonnes retournée 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épendemment 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, suivants 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 colonne et de ligne.
    
    $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
    
    $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ésultat 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
    
    $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";

Note

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

Voir aussi dbx_escape_string et dbx_connect .

<< dbx_query >>
dbx_escape_string dbx dbx_sort
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -