【发布时间】:2015-10-21 10:45:18
【问题描述】:
我有两个类:一个用于 sql,一个用于身份验证。这些是单独的文件,仅由自动加载器在另一个文件 (index.php) 中“组合在一起”。 sql 类如下所示:
class aF_sql {
public static $open;
public static $char;
public static $close;
public static function open() {
global $config;
self::$open = mysqli_connect($config['aF_sql_host'], $config['aF_sql_user'], $config['aF_sql_pass'], $config['aF_sql_data']);
if(!self::$open) {
die('<b>ERROR (/core/sql/1): Could not initialize database connection</b>');
}
self::$char = mysqli_set_charset(self::$open, $config['aF_sql_char']);
if(!self::$char) {
die('<br>ERROR (/core/sql/2): Could not set database charset</br>');
}
return TRUE;
}
public static function close() {
self::$close = mysqli_close(self::$open);
if(!self::$close) {
die('<b>ERROR (/core/sql/3): Could not close database connection');
}
return TRUE;
}
}
直到这里一切正常。我使用 class::open(); 打开 sql 连接方法,我使用 class::close(); 关闭它。然后,我有一个文件可以帮助我检查一些登录详细信息(auth 类)。现在,我想要的只是提交的用户名的回声。内容如下:
class aF_auth {
public static function login() {
echo mysqli_real_escape_string(aF_sql::open, $_POST['username']);
}
}
这就是错误所说的:警告:mysqli_real_escape_string() 期望参数 1 为 mysqli,给定 null...我应该使用什么作为标识符才能执行查询?如您所知,mysqli 需要连接标识符。
谢谢一百万
【问题讨论】:
标签: class mysqli identifier