【发布时间】:2014-02-25 18:30:27
【问题描述】:
为了线程,我只有 2 个 PHP 类,一个用于数据库,一个用于数据库中的用户。
在我的用户类中运行执行代码时,我的浏览器上会显示一个 PHP 通知,说明..
注意:未定义的属性:Database::$escape in /my/directory/user.class.php 在第 x 行
在我的用户类中,我有以下代码:
$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);
}
...
【问题讨论】:
-
使用 __set() 和 __get() 魔术方法来避免这个错误!!
-
ah escape() 是一个方法,你试图作为成员变量访问