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

PHP & Base de données Discussion :

Objet ADORecordSet et PHP 5 [PostgreSQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 138
    Points : 47
    Points
    47
    Par défaut Objet ADORecordSet et PHP 5
    Bonjour,

    j'ai un petit problème qui me semble être du au passage de PHP4 à PHP5, mais je n'arrive pas à le solutionner.

    J'explique mon problème.
    Dans un fichier PHP, j'appelle une fonction qui renvoie le résultat d'une requête SQL (base de donnée PostGresql 8.2). Je stocke ce résultat dans un tableau.
    Plus loin, je parcoure ce tableau et c'est la que ce pose le problème.

    En fait, si je fais afficher de suite ce que j'ai dans mon tableau (juste apres l'avoir rempli), j'ai bien tous mes champ de remplis dans l'objet ADORecordSet, dont un champ 'fields' qui contient le résultat de ma requête. Par contre, un peu plus loin dans le code, si je fais afficher ce même tableau juste avant de l'utiliser, j'ai tous les champs de mon objet ADORecordSet, j'ai aussi mon champ 'fields', mais il est vide.
    Je ne comprends pas comment ca se fait, d'autant que le même code sur un serveur PHP4 marche correctement, et c'est avec PHP5 que cela ne marche pas. J'ai testé sur les deux config.

    Est-ce que quelqu'un a une idée SVP ???

    Merci d'avance pour vos réponses.

    jinpol...

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 138
    Points : 47
    Points
    47
    Par défaut
    Bonjour,

    je reviens ici pour dire qu'au final, j'ai trouve la solution, et en fait, c'est effectivement du à la différence qu'il y a entre PHP4 et PHP5 au niveau de la gestion des objets.
    Dans PHP4 les objets étaient passés par valeur alors qu'en PHP5 ils le sont par référence.
    Donc en gros, si je fais :

    $a = 5;
    $b = $a;
    $b++;
    alors j'aurai $a = 6 et non $a = 5;

    Et donc, l'objet que je stockais dans mon tableau était modifié après par une fonction, et donc je n'avais plus la même chose dans mon tableau avant et après l'appel de cette fonction. Je pointais bien sur le bon objet, mais la valeur de cet objet avait changé.

    Pour solutionner ce problème, il faut utiliser la fonction clone qui permet de copier explicitement un objet et sa valeur.

    Voila, comme ça, si ça peut servir à quelqu'un.

    Tchuss, @+, jinpol...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [COM] PHP en communication avec l'objet COM
    Par joe_le_mort dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 22/05/2012, 14h57
  2. [Professionnalisation/Alternance] Développeur mobile, objet (C, C++, PHP) en IDF
    Par ptmarmot dans le forum Demandes
    Réponses: 0
    Dernier message: 21/08/2011, 10h31
  3. [Doctrine] Le framework de mapping objet-relationnel pour PHP
    Par fattum dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/03/2010, 13h23
  4. Accès à un objet OLE en PHP
    Par pedouille dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 01/12/2007, 16h34
  5. Probleme avec l'objet PDO en PHP
    Par krovomi dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 03/05/2006, 12h18

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