PHP绑定错误

时间:2013-06-30 02:56:25

标签: php mysqli

我正在尝试使用此脚本查看我的数据库中是否已注册使用,但我在第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");
}
?>

1 个答案:

答案 0 :(得分:1)

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

您应该做什么,检查您的查询。确保你是:

  1. 不使用reserved mysql关键字
  2. 引用列/表 存在于架构中
  3. SQL中没有语法错误 查询