2009-04-01 6 views
1

J'essayais de retourner un ensemble d'objets.objets et chaînes

Mais ce code me donne l'erreur suivante:

Catchable erreur fatale: Objet de l'utilisateur de classe ne peut pas être convertie en chaîne dans ...

public function fetchObject($psClassname ="",$paParams =array()){ 
      $lrResource = $this->mrQueryResource; 
      $liResult = null; 
      while($row = mysql_fetch_object($lrResource,$psClassname,$paParams)){ 
       $liResult .= $row;  <-this line produces the error 
      } 
      return $liResult; 
     } 

Répondre

4

Dans votre code $ row est un objet (vous avez utilisé mysql_fetch_object), et l'opérateur. = essaye de construire une chaîne , concaténant $ liResult et $ row. Je crois que ce comportement ne fonctionne que si votre objet implémente une toString method

Vous pouvez retourner un tableau de lignes en utilisant ce code:

public function fetchObject($psClassname ="",$paParams =array()){ 
     $lrResource = $this->mrQueryResource; 
     $liResult = array(); 
     while($row = mysql_fetch_object($lrResource,$psClassname,$paParams)){ 
       $liResult[] = $row; 
     } 
     return $liResult; 
} 
0

C'est parce que vous essayez de convertir $ ligne à une chaîne (le. = suppose qu'une chaîne est donnée sur le côté droit)