PHP PDO-Objekt der Klasse konnte nicht in eine Zeichenfolge konvertiert werden

Ich erhalte die folgende Fehlermeldung unten auf das Objekt die Funktion in Smarty und ich bin mir nicht bewusst, wie das Problem zu beheben.

Fehler:

Catchable fatal error: Object of class users_class could not be converted to string

Dies ist das folgende Objekt und Funktion des Objekts, die ich verwende.

class users_class
{
    public function fetchUser(array $conditions)
    {
        $db = Core::getInstance();
        $sql = "SELECT * FROM ".USERS." WHERE ";
        $i=0;
        $params = array();
        //$where = array();
        foreach ($conditions as $column => $value)
        {
            if (preg_match('/^[a-z-.-_]+$/', $column)) {
                if ($i!=0) {
                    $sql .= " AND ";
                }
                $sql .= "$column = ?";
                $params[] = $value;
                $i++;
            }
        }           
        //$sql .= implode(' AND ', $where);
        //$sql .= " order by title asc";    
        $res = $db->dbh->prepare($sql);
        $res->execute(array_values($params));
        return $res->fetch(PDO::FETCH_ASSOC);               
    }
}

Dies ist der Aufruf in Smarty:

 {section name=ststval loop=$ststres}
    {if $ststres[ststval].type == 2}
       {assign var='udatas' value="$userObj->fetchUser(array('id'=>$ststres[ststval].to_id));"}
  • Entfernen Sie die Anführungszeichen um den Ausdruck, so value="$userObj->fetchUser ..." wird value=$userObj->fetchUser ...
  • Danach erhalte ich die folgende Fehlermeldung. 'SmartyCompilerException' with message 'Syntax Error in template "./templates/profile_left.tpl" on line 149 "{assign var='udatas' value=$userObj->fetchUser(array('id'=>$ststres[ststval].to_id))}" - Unexpected "=>", expected one of: "","" , ")
  • Warum der negative Punkt, und was wurde bearbeitet?
Schreibe einen Kommentar