0

我正在尝试使用此脚本来查看我的数据库中是否有注册的 using,但我在第 6 行遇到了问题。我不断收到错误消息:

致命错误:在第 6 行 -redacted-/check_login.php 中的非对象上调用成员函数 bind_param()

我对它失败的原因感到困惑,因为我有一个类似的声明在创建用户函数上工作。

<?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");
}
?>
4

1 回答 1

1

这通常是由于在数据库模式中引用了不存在的列/表引起的。因此,为什么prepared是此错误的根本原因。

您应该做的是检查您的查询。确保您是:

  1. 不使用reservedmysql关键字
  2. 引用架构中存在的列/表
  3. 您的 SQL 查询中没有语法错误
于 2013-06-30T02:59:36.540 回答