我有两个类:一个用于sql,另一个用于身份验证。这些是单独的文件,只有"汇集在一起#34;由另一个文件中的自动加载器(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需要连接标识符。
万分感谢
答案 0 :(得分:0)
好的,我明白了!我没有在类中返回TRUE,而是返回self :: $ open。这样,我可以在软件中的任何地方使用aF_sql :: $ open,它指的是连接标识符。换句话说,它没有用,因为我没有在类中返回变量......
$administrator_query = new WP_User_Query(
array(
'role'=>'administrator',
)
);
$user_query= $administrator_query->get_results();
foreach ( $user_query->results as $user ) {
echo '<p>' . $user->role . '</p>';
}
就是这样......