类中未定义的PHP属性
为了线程,我只有两个PHP类,一个用于数据库,一个用于数据库中的用户 在运行“在我的用户类中执行代码”时,我的浏览器上会显示一个PHP通知,说明 注意:未定义的属性:数据库::$escape in /第x行的my/directory/user.class.php 在我的Users类中,我有以下代码:类中未定义的PHP属性,php,oop,pdo,Php,Oop,Pdo,为了线程,我只有两个PHP类,一个用于数据库,一个用于数据库中的用户 在运行“在我的用户类中执行代码”时,我的浏览器上会显示一个PHP通知,说明 注意:未定义的属性:数据库::$escape in /第x行的my/directory/user.class.php 在我的Users类中,我有以下代码: $Database = new Database(); $submitData = array_map($Database->escape, $submitData); $result = $
$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);
}
...
在正确的回调中,正确的回调:
$submitData = array_map(array($Database, "escape"), $submitData);
我想,当您想使用时,请尝试给您的数据库实例取另一个名称
$Database->escape
,php指
Database::$escape
,它是类数据库的一个静态变量,未定义。在代码中,您有$Database->escape的数组映射,它搜索该属性并抛出错误。您应该有一个可调用函数的名称,如“escape”或其他函数。使用_set()和_get()魔术方法来避免此错误!!ah escape()是一个方法,试图作为成员变量进行访问