欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求大神纠错,多谢!Fatal error: Call to a member function query() on a non-object

程序员文章站 2022-06-15 13:12:04
...
求大神纠错,谢谢!!Fatal error: Call to a member function query() on a non-object
如题,出现错误。Fatal error: Call to a member function query() on a non-object in D:\WWW\2shou\class\Bulletin.php on line 47
代码如下:
//本类用于保存对表Bulletin的数据库访问操作
//表的每个字段对应类的一个成员变量
Class Bulletin
{
public $Id; // 记录编号
public $Title; // 公告标题
public $Content; // 公告内容
public $PostTime; // 发布日期
public $Poster; // 发布人
var $conn;

function __construct() {
// 连接数据库
$this->conn = mysqli_connect("localhost", "root", "pass", "2shou");
mysqli_query($this->conn, "SET NAMES gbk");
}

function __destruct() {
// 关闭连接
mysqli_close($this->conn);
}

// 获取公告信息
function GetBulletinInfo($bid) {
//设置查询的SELECT语句
$sql = "SELECT * FROM Bulletin WHERE Id='" . $bid . "'";
// 打开记录集
$results = $this->conn->query($sql);
// 读取公告数据
if($row = $results->fetch_row()) {
$this->Id = $bid;
$this->Title = $row[1];
$this->Content = $row[2];
$this->PostTime = $row[3];
$this->Poster = $row[4];
}
else {
$this->Id=0;
}
}

// 获取所有公告信息,返回结果集
function GetBulletinlist() {
//设置查询的SELECT语句
$sql = "SELECT * FROM Bulletin ORDER BY PostTime DESC";
$results = $this->conn->query($sql);
return $results;
}

// 获取所有公告信息,返回结果集
function GetRecentBulletinlist() {
//设置查询的SELECT语句
$sql = "SELECT * FROM Bulletin WHERE DateDiff(day, getdate(), Posttime) $results = $this->conn->query($sql);
return $results;
}


// 添加公告信息
function insert() {
$sql = "INSERT INTO Bulletin (Title, Content, PostTime, Poster) VALUES ('" . $this->Title . "','" . $this->Content . "','" . $this->PostTime . "','" . $this->Poster . "')";
// 执行SQL语句
$this->conn->query($sql);
}

// 修改公告信息
function update($bid) {
$sql = "UPDATE Bulletin SET Title='" . $this->Title . "', Content='" . $this->Content . "', PostTime='" . $this->PostTime . "', Poster='" . $this->Poster . "' WHERE Id=" . $bid;
// 执行SQL语句
$this->conn->query($sql);
}

// 批量删除公告信息
function delete($bid) {
$sql = "DELETE FROM Bulletin WHERE Id IN (" . $bid . ")";
// 执行SQL语句
$this->conn->query($sql);
}
}
?>

------解决思路----------------------
所以构造函数应写作
function __construct() {
$this->conn = new mysqli("localhost", "root", "pass", "2shou");
$this->conn->set_charset('gbk');
}

求大神纠错,多谢!Fatal error: Call to a member function query() on a non-object

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频