mysqli::query(): 无法获取 mysqli [英] mysqli::query(): Couldn't fetch mysqli
问题描述
警告:mysqli::query(): 无法在 C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\my Portable files\class_EventCalendar.php 中在第 43 行获取 mysqli>
Warning: mysqli::query(): Couldn't fetch mysqli in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\my portable files\class_EventCalendar.php on line 43
以下是我的连接文件:
<?php
if(!isset($_SESSION))
{
session_start();
}
// Create array to hold error messages (if any)
$ErrorMsgs = array();
// Create new mysql connection object
$DBConnect = @new mysqli("localhost","root@localhost",
NULL,"Ladle");
// Check to see if connection errno data member is not 0 (indicating an error)
if ($DBConnect->connect_errno) {
// Add error to errors array
$ErrorMsgs[]="The database server is not available.".
" Connect Error is ".$DBConnect->connect_errno." ".
$DBConnect->connect_error.".";
}
?>
这是我的课:
<?php
class EventCalendar {
private $DBConnect = NULL;
function __construct() {
// Include the database connection data
include("inc_LadleDB.php");
$this->DBConnect = $DBConnect;
}
function __destruct() {
if (!$this->DBConnect->connect_error) {
$this->DBConnect->close();
}
}
function __wakeup() {
// Include the database connection data
include("inc_LadleDB.php");
$this->DBConnect = $DBConnect;
}
// Function to add events to Zodiac calendar
public function addEvent($Date, $Title, $Description) {
// Check to see if the required fields of Date and Title have been entered
if ((!empty($Date)) && (!empty($Title))) {
/* if all fields are complete then they are
inserted into the Zodiac event_calendar table */
$SQLString = "INSERT INTO tblSignUps".
" (EventDate, Title, Description) ".
" VALUES('$Date', '$Title', '".
$Description."')";
// Store query results in a variable
$QueryResult = $this->DBConnect->query($SQLString);
我不擅长 OOP PHP,我不确定为什么会出现这个错误.我从别处提取了这段代码,唯一改变的是 @new mysqli
参数.任何人都可以帮助我了解出了什么问题吗?
I'm not great with OOP PHP and I'm not sure why this error is being raised. I pulled this code from elsewhere and the only thing I changed was the @new mysqli
parameters. Can anyone help me to understand what is going wrong?
推荐答案
可能在某处你有 DBconnection->close();
然后一些查询尝试执行.
Probably somewhere you have DBconnection->close();
and then some queries try to execute .
提示:在__destruct()中插入
(因为...->close();
有时是错误的)__destruct
是事件,之后需要执行查询)
Hint: It's sometimes mistake to insert ...->close();
in __destruct()
(because __destruct
is event, after which there will be a need for execution of queries)
这篇关于mysqli::query(): 无法获取 mysqli的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!