我正在尝试使用此脚本查看我的数据库中是否已注册使用,但我在第6行遇到了问题。我一直收到错误:
致命错误:在非对象中调用成员函数bind_param() 第6行的-redacted- / check_login.php
我很难过为什么会失败,因为我在创建用户函数上有类似的声明。
<?php
ini_set('display_errors', 'On');
$db = new mysqli("localhost", "root", "-redacted-", "-redacted-");
$query = $db->prepare("SELECT user FROM users WHERE username = ? AND password = ?");
$query->bind_param('ss', $_POST['username'], md5($_POST['password']));
$query->execute();
$query->bind_result($result);
$query->fetch();
if($result->num_rows == 1) {
session_start();
$_SESSION['user'] = $_POST['username'];
header("Location: 10.0.0.15/index.php");
}
?>
答案 0 :(得分:1)
这通常是由引用数据库模式中不存在的列/表引起的。因此,prepared
是导致此错误的根本原因。
您应该做什么,检查您的查询。确保你是:
reserved
mysql关键字