类中未定义的PHP属性

时间:2014-02-25 18:30:27

标签: php oop pdo

为了线程,我只有2个PHP类,一个用于数据库,一个用于数据库中的用户。

在我的Users类中运行代码时,我的浏览器会显示一条PHP通知,说明..

  

注意:未定义的属性:Database :: $ escape in   第x行的/my/directory/user.class.php

在我的Users类中,我有以下代码:

$Database = new Database();
$submitData = array_map($Database->escape, $submitData);
$result = $Database->query("SELECT user_id FROM users WHERE email_address = " . $Database->quote($formData['email_address']));

在我的数据库类中,我有以下内容:

class Database { 
    private $db = array();
    private $connection;
    public $result;      

    public function escape($data) {
        return mysqli_real_escape_string($this->connection, $data);
    }   
...

3 个答案:

答案 0 :(得分:1)

Inproper callback,正确的回调:

$submitData = array_map(array($Database, "escape"), $submitData);

答案 1 :(得分:0)

当您想要使用

时,尝试为您的数据库实例提供另一个名称
$Database->escape

,php指的是

Database::$escape

,这是类Database的静态变量,并且没有定义。

答案 2 :(得分:0)

在您的代码中,您拥有$ Database->的array_map;转义搜索该属性并抛出错误。你应该有一个可调用函数的名称,如“escape”或其他一些函数。