我在一个函数中有一个 MySQL 语句,但不知何故它不起作用。我收到以下错误:
Fatal error: Call to a member function prepare() on a non-object in D:\xampp\test.php on line 7
function isloggedin($getcookiedata) {
$data = explode("|", $getcookiedata);
$userid = $data[0];
$md5password = $data[1];
$sql = "SELECT user_id, username, email, newsletter, user_group FROM users WHERE user_id = ? AND md5password = ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('ss', $userid, $md5password);
$stmt->execute();
$stmt->bind_result($r_userid, $r_username, $r_email, $r_newsletter, $r_user_group);
$stmt->store_result();
$checker = $stmt->num_rows;
$stmt->fetch();
$stmt->close();
}
当我只是在函数外执行 SQL 语句时,它会起作用。但不在函数内部。
最佳答案
如果 $mysqli
是您在某处定义的全局变量,您需要将其拉入您的函数范围:
function isloggedin($getcookiedata) {
global $mysqli;
...
}
关于php - 函数内的 Mysql 语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6634135/