IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

[PHP] Récupération de boléen


Sujet :

PostgreSQL

  1. #1
    Inscrit
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 476
    Points
    476
    Par défaut [PHP] Récupération de boléen
    Bonjour à tous,

    Je viens de changer de base de données pour psql. Mon projet est déjà quelque peu avancé, mais reste au début.
    Seulement voila, je rencontre un problème assez ennuyeux avec les boléens...

    J'ai toujours travaillé avec des 0 et des 1, jamais des 'true' ni 'false', et encore moins des 't' et 'f'. Et évidement, psql lui travaille avec des 't' et 'f'

    Pour l'insertion et la mise à jour des données, le problème est réglé, psql accepte les 0 et 1 en valeur litérale. Seulement, lorsque de récupère une colonne de type boléen, il me retourne 't' ou 'f'.

    Existe-t-il un moyen de configurer PSQL afin qu'il me donne toujours des boléens sous forme numérique (0 ou 1) ?

    Je ne cherche pas vraiment un moyen de contourner ca pour les colonnes de types bool (quoique je prend toujours si ya vraiment rien d'autre), car je me sers souvent de requetes telles que "SELECT COUNT(*) > 0", qui là aussi me retournent 't' ou 'f'...

    Merci d'avance !

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    ce n'est pas PostgreSQL qu'il faut incriminer, c'est PHP !
    Ce sont les fonctions natives de PHP pour PostgreSQL qui renvoie 't' et 'f' plutôt que de renvoyer des booléens.

    A ma connaissance, il n'y a pas moyen de modifier ce comportement. Ce n'est à mon avis pas d'une très grande gravité quand on sait que 't' et 'f' sont considérées comme des valeurs booléennes valides quand on fait un INSERT ou un UPDATE.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Inscrit
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 476
    Points
    476
    Par défaut
    Ah bien vu, j'avais pas pensé à aller voir du coté de php !

    Le problème des 'f' et 't', c'est que mon projet est déjà pas mal avancé, et j'utilisais des conditions telles que (bool)$ressource['col'], qui renvoient true ou false suivant que $ressource['col'] vaut 1 ou 0. Mais elles renvoient toujours true lorsque la var vaut 't' ou 'f'. C'est normal, mais évidement le comportement du script devient absurde

    Je vais aller voir quand même du coté de la conf de php, quitte à modif les sources et à le recompiler. Merci beaucoup, je vous tiens au courant

Discussions similaires

  1. [SQL] php récupération données formulaire + requête sql
    Par cesoir dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 19/04/2007, 15h00
  2. Réponses: 5
    Dernier message: 30/10/2006, 16h23
  3. PHP récupération variables
    Par marie4449 dans le forum Langage
    Réponses: 3
    Dernier message: 08/06/2006, 20h14
  4. [XML] [cURL] Authentification Php récupération de données
    Par thibaut06 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 13/02/2006, 14h23
  5. [XML-XSLT-PHP] Récupération de l'heure courante dans xml
    Par mamat- dans le forum XSL/XSLT/XPATH
    Réponses: 12
    Dernier message: 05/08/2005, 16h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo