dbx_query

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.4)

dbx_query -- Envoie une requête et lit tous les résultats DBX

Description

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.

Exemple 1. 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 2. 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.

Exemple 3. 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.

Exemple 4. 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"].

Exemple 5. 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";
?>

Exemple 6. 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().



Rechercher une fonction PHP

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

5 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Références

  1. Consulter le document html Langue du document: fr Manuel PHP : http://be2.php.net, dbx_query

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-4633
Document créé le 29/10/06 23:59, dernière modification le Vendredi 17 Juin 2011, 12:12
Source du document imprimé : http://www.gaudry.be/php-rf-function.dbx-query.html Document affiché 2 fois ce mois de Juin.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,64 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
L'horreur est humaine.

Coluche
 
l'infobrol
Nous sommes le Samedi 02 Juin 2012, 18:20, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)