投掷'调用$ mysqli->上的非对象'上的成员函数prepare()。原来工作得非常好。这在mysqli中是不可能的吗?
猜猜我应该已经明确表示mysqli设置正确,如include - $ mysqli = new mysqli($ db_host,$ db_user,$ db_pass,$ db_database);
原文:
mysql_query("UPDATE test_users SET lastIP=currIP, dtLastLogin=dtCurrLogin WHERE user='".$user."'");
新的mysqli版本:
function user_login($user)
{
// Update user's last ip and last login date in db
$stmt = $mysqli->prepare("UPDATE test_users SET lastIP = currIP, dtLastLogin = dtCurrLogin WHERE user= ?");
// bind params
$stmt->bind_param('s', $user);
// execute prepared statement
$stmt->execute();
// close statement
$stmt->close();
答案 0 :(得分:2)
您可以使用mysqli
执行您想要执行的操作,但尚未在函数中初始化变量$mysqli
。
将其声明为global
变量,或将其作为参数传递。