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 :

Catchable fatal error: (suite à une mise à jour en PHP 5.2) [Oracle]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Catchable fatal error: (suite à une mise à jour en PHP 5.2)
    Bonjour,

    Suite à la mise à jour de PHP 5.1 vers PHP 5.2, j'ai le message suivant :
    Catchable fatal error: Object of class OCI-Lob could not be converted to string in /.../edit-indicateur.php on line 77
    Je viens donc de faire quelques recherches, et si je ne me trompe pas, cela viens du faite que dans la base il y a un champ CLOB.

    Et PHP 5.2, ne les gèrent plus comme des chaînes de caractère.

    Voici une partie de mon code PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    function retourneLigneRes($resultat)
                    {
                            ocifetchinto($resultat, $ligne, OCI_ASSOC);
                            return $ligne;
     
                    }
    ...
    ...
    //construction de la requete
    $stmt="SELECT * FROM T_INDICATEUR WHERE TI_ID='".$_GET['id']."'";
    ...
    //preparation et execution de la requete
    $res    =       $conn->parseExecuteBD($stmt);
    $leres  =       $conn->retourneLigneRes($res);
    ...
    $descriptif                     =       stripslashes($leres['TI_DESCRIPTIF']);  // <-- Ligne 77
    Est ce que quelqu'un a eu le même problème ?

    Avez vous des idées pour résoudre ce problème ?

    Merci, d'avance pour votre aide.

    Tony

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Oui, j'ai essayé.

    Et j'obtiens le message d'erreur que lorsque l'objet contient une valeur.
    Si l'objet n'a pas de valeur, je n'est pas le message d'erreur.

    voici la suite de mon code, j'aurais du le mettre avec mon premier message.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if($descriptif!="")
          $descriptif  =  stripslashes($leres['TI_DESCRIPTIF']->load());
    Tony

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Après de multiple recherche et test, je viens de trouver une solution.
    Je ne sais pas si c'est la bonne, mais elle a le mérite de résoudre mon problème.

    Voici la modification que j'ai faite :

    Code d'origine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function retourneLigneRes($resultat)
                    {
                            ocifetchinto($resultat, $ligne, OCI_ASSOC);
                            return $ligne;
                    }
    Code modifié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function retourneLigneRes($resultat)
                    {
                            ocifetchinto($resultat, $ligne, OCI_ASSOC+OCI_RETURN_LOBS);
                            return $ligne;
                    }
    Maintenant, je peux bien récupérer le contenu de mon champ CLOB.

    Si cela peut servir à d'autres, super.
    N'hésiter à faire des commentaire, si une autre solution existe.

    Tony

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

Discussions similaires

  1. [PC portable] Ordinateur totalement planté dès le démarrage suite à une mise à jour.
    Par Invité dans le forum Ordinateurs
    Réponses: 10
    Dernier message: 22/12/2010, 21h22
  2. Réponses: 7
    Dernier message: 12/02/2010, 19h45
  3. Apache2 cassé suite à une mise à jours
    Par Morbo dans le forum Debian
    Réponses: 11
    Dernier message: 20/07/2009, 15h51
  4. petite question suite à une mise à jour
    Par pitou_christophe dans le forum Bubuntu
    Réponses: 1
    Dernier message: 30/05/2008, 21h22
  5. inclusion échouant suite à une mise à jour
    Par moliere007 dans le forum Langage
    Réponses: 3
    Dernier message: 15/01/2008, 10h13

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