在非对象上调用成员函数 bind_param()
Call to a member function bind_param() on a non-object
绑定参数函数 bind_param()
被认为是一个非对象并且不断抛出伤害我的头的错误,因为我是 PHP 的新手。用于连接到数据库的代码最初会抛出错误,即使我从正在运行的登录脚本中复制了它...
<?php
class User {
private $result;
private static $db;
public function __construct($cookie) {
self::$db = mysqli_connect('localhost', 'username', '', 'dbname');
var_dump(self::$db);
$query = self::$db->prepare('SELECT * FROM users WHERE cookie=?');
var_dump($query);
$query->bind_param('s', $cookie);
$this->result = $query->get_result()->fetch_array();
}
public static function checkUser($cookie) {
self::$db = mysqli_connect('localhost', 'username', "", 'dbname');
$query = self::$db->prepare('SELECT cookie FROM users WHERE cookie=?');
$query->bind_param('s', $cookie);
$result = $query->get_result()->fetch_array();
if ($cookie == $result[0]) return true;
return false;
}
public function getName() {
return $this->result['name'];
}
public function getSurname() {
return $this->result['surname'];
}
public function getEmail() {
return $this->result['email'];
}
public function getGroup() {
return $this->result['perm_group'];
}
public function getEstablishment() {
return $this->result['establishment'];
}
}
?>
我们的想法是做一个class(用户),这样我们就可以从其他页面调用函数来获取用户的详细信息,比如 Cookie。我已经这样做了几个小时了,老实说,我不知道发生了什么。
mysqli::prepare returns false,如果发生错误。
$query = self::$db->prepare('SELECT cookie FROM users WHERE cookie=?');
$query->bind_param('s', $cookie);
如果出现错误,您没有可调用 bind_param 的结果对象。
这个问题很简单,我们忘了有一个列来存储 cookie。
抱歉女士们提出了愚蠢的问题
绑定参数函数 bind_param()
被认为是一个非对象并且不断抛出伤害我的头的错误,因为我是 PHP 的新手。用于连接到数据库的代码最初会抛出错误,即使我从正在运行的登录脚本中复制了它...
<?php
class User {
private $result;
private static $db;
public function __construct($cookie) {
self::$db = mysqli_connect('localhost', 'username', '', 'dbname');
var_dump(self::$db);
$query = self::$db->prepare('SELECT * FROM users WHERE cookie=?');
var_dump($query);
$query->bind_param('s', $cookie);
$this->result = $query->get_result()->fetch_array();
}
public static function checkUser($cookie) {
self::$db = mysqli_connect('localhost', 'username', "", 'dbname');
$query = self::$db->prepare('SELECT cookie FROM users WHERE cookie=?');
$query->bind_param('s', $cookie);
$result = $query->get_result()->fetch_array();
if ($cookie == $result[0]) return true;
return false;
}
public function getName() {
return $this->result['name'];
}
public function getSurname() {
return $this->result['surname'];
}
public function getEmail() {
return $this->result['email'];
}
public function getGroup() {
return $this->result['perm_group'];
}
public function getEstablishment() {
return $this->result['establishment'];
}
}
?>
我们的想法是做一个class(用户),这样我们就可以从其他页面调用函数来获取用户的详细信息,比如 Cookie。我已经这样做了几个小时了,老实说,我不知道发生了什么。
mysqli::prepare returns false,如果发生错误。
$query = self::$db->prepare('SELECT cookie FROM users WHERE cookie=?');
$query->bind_param('s', $cookie);
如果出现错误,您没有可调用 bind_param 的结果对象。
这个问题很简单,我们忘了有一个列来存储 cookie。
抱歉女士们提出了愚蠢的问题