Error fatal: llamada a una función miembro escape () en un no objeto en

Estoy tratando de actualizar mis consultas, pero me tropiezo con el mismo error una y otra vez ...

Fatal error: Call to a member function escape() on a non-object in ...

Esta es mi función:

    //update activity
    public function updateActivity($db, $id) {
    $sql    = "UPDATE tblLeidingAgenda SET
    datum       = '".$db->escape($this->datum)."',
    uur         = '".$db->escape($this->uur)."',
    titel       = '".$db->escape($this->titel)."',
    uitleg      = '".$db->escape($this->uitleg)."',
    link        = '".$db->escape($this->link)."',
    aanwezig    = '".$db->escape($this->aanwezig)."',
    auteur      = '".$db->escape($this->auteur)."'
    WHERE id    = '".$id."'";
    return $db->insert($sql);
}

Y este es mi código:

if (empty($_POST['up_datum']) || empty($_POST['up_uur']) || empty($_POST['up_titel']) || empty($_POST['up_uitleg'])) {
        $error = 'no input';
    } else {
        $datecorrect=date('Y-m-d',strtotime($_POST['up_datum']));

        $agenda = new Leidingsactiviteit();
        $agenda->datum          = $datecorrect;
        $agenda->uur            = $_POST['up_uur'];
        $agenda->titel          = $_POST['up_titel'];
        $agenda->uitleg         = $_POST['up_uitleg'];
        $agenda->auteur         = $_SESSION['user']['naam'];

        if ($agenda->updateActivity($_DB,$_POST['id'])) {
            $feedback = 'ok';
            $bericht = 'test';
            mail('me@gmail.com', 'Update: '.$agenda->titel, $bericht);
        } 
        else {
            $feedback = 'not ok';
         }
    }

EDITAR $_DB declarado...

 define('MYSQL_HOST',  '***');
 define('MYSQL_DB',    '***');
 define('MYSQL_USER',  '***');
 define('MYSQL_PASSW', '**');

 // Initialize (global vars) 
 $_DB = new DBConnection(MYSQL_HOST, MYSQL_DB, MYSQL_USER, MYSQL_PASSW);

preguntado el 27 de agosto de 11 a las 16:08

Bueno, $_DB no es un objeto. Por qué, no está claro en el código que muestra. El problema está sucediendo anteriormente en el código:

¿Puedo convertirlo en un objeto? Tengo más de una función, todos parecidos, y funcionan bien ... -

Bueno, debe ser el objeto de su base de datos para escapar y actualizar la actividad. -

¿Dónde está la instancia de $ _DB en su código?

¿DBConnection extiende una clase mysqli? o DOP? o creaste uno? -

1 Respuestas

Donde esta la variable $_DB ¿declarado? Por lo que ha publicado, nunca se declara, por lo que no sé qué hay dentro del objeto (si es que es un objeto en ese punto para empezar).

Trata var_dump($_DB); antes de if ($agenda->updateActivity($_DB,$_POST['id'])) y publique los resultados de eso si no resuelve su problema.

Respondido 27 ago 11, 20:08

La var_dump da un NULL, por lo que $_DB de hecho está vacío. Es extraño, porque otras funciones funcionan bien ... - Michiel

Por favor publique donde $_DB = ... - afuzzyllama

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.