我是使用php-mysqli准备的语句的新手。无论我尝试什么,我总是收到这个错误消息。
Fatal error: Call to undefined function mysqli_stmt_init() in...(etc)
我已经在下面的代码中关闭了我的数据库链接,这里没有显示。这是我的代码:
$link = mysqli_connect($mysql_host, $mysql_user, $mysql_password, $mysql_database);
if (mysqli_connect_errno()) {
echo 'We''re having problems connecting right now. Please try again later.';
exit();
}
$email_query = mysqli_stmt_init($link);
if(mysqli_stmt_prepare($email_query, "SELECT * FROM users WHERE email=?")){
mysqli_stmt_bind_param($email_query, "s", $email);
mysqli_stmt_execute($email_query);
mysqli_stmt_store_result($email_query);
$exists_email = mysqli_stmt_num_rows($email_query);
mysqli_stmt_close($email_query);
错误中的行号对应于代码中的init行。
您不需要mysqli_stmt_init()
。直接发布您准备好的声明即可。
if(mysqli_prepare($link, "SELECT * FROM users WHERE email=?")){
mysqli_stmt_bind_param($email_query, "s", $email);
mysqli_stmt_execute($email_query);
mysqli_stmt_store_result($email_query);
$exists_email = mysqli_stmt_num_rows($email_query);
mysqli_stmt_close($email_query);
}