当前位置: 首页 > 知识库问答 >
问题:

mysqli::Query():无法获取mysqli

谭云瀚
2023-03-14

警告:mysqli::query():无法在C:\Program Files(x86)\EasyPHP-DevServer-13.1vc9\Data\LocalWeb\My portable Files\Class_EventCalendar.php中获取第43行的mysqli

下面是我的连接文件:

<?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参数。谁能帮我弄明白到底哪里出了问题?

共有3个答案

宋明亮
2023-03-14

我也有同样的问题。我将mysqli对象中的localhost参数更改为“127.0.0.1”,而不是编写“localhost”。它起作用了;我不知道是怎么做的,也不知道为什么。

$db_connection = new mysqli("127.0.0.1","root","","db_name");

希望有帮助。

谭成业
2023-03-14

错误原因是mysqli对象的初始化错误。真正的构造应该是这样的:

$DBConnect = new mysqli("localhost","root","","Ladle");
翟淇
2023-03-14

可能在某个地方有dbconnection->close();,然后尝试执行一些查询。

提示:在__destruct()中插入...->close();有时是错误的(因为__destruct是事件,之后将需要执行查询)

 类似资料:
  • 问题内容: 警告:mysqli :: query():无法在第43行上的C:\ Program Files(x86)\ EasyPHP- DevServer-13.1VC9 \ data \ localweb \ my Portable files \ class_EventCalendar.php中获取mysqli 以下是我的连接文件: 这是我的课: 我对OOP PHP不太满意,而且不确定为什么

  • 我们使用nextjs/reactjs作为FE,并且我们有一个server.js文件,它允许我们在上传映像,但是由于某种原因,每当我们运行服务器时,都会出现错误 下面是我们在server.js上的代码 这些是我们package.json中包含的脚本 希望得到一些答案和建议。这些代码在本地运行,没有任何问题

  • 我有3个表users(id、name等)、trips(id、user_id、from、to、destination)、vactions(id、user_id、from、to、destination)。我使用mysqli,我不知道怎么做,我需要像这样获取这个表 我试过左加入,但我不工作,我的代码现在只适用于用户:

  • 我创建了一个表格,插入拳头的名字,姓氏和电话,但我有这个错误,不能弄清楚它在哪里 这是我的php代码第一个名为displayPhone的文件。php 第二个文件名为savePhone。php 我的库名'宠物'表名'数据'。该表包含3部分first_name,last_name和电话都是varchar类型

  • 问题内容: 我需要从结果对象获取所有行。我正在尝试建立一个将容纳所有行的新数组。 这是我的代码: 应该是包含所有行的新数组,但是我得到一个空数组。 任何想法为什么会这样? 问题答案: 您有一个轻微的语法问题,即错误的分号。 注意结尾的分号吗?这意味着后面的程序段不是循环执行的。摆脱它,它应该可以工作。 另外,您可能需要检查查询是否确实有效:

  • 问题内容: 我试图了解mysqli扩展名,并做了谷歌,但除了php.net这是非常有用的很少信息。 现在毕竟这是我想要实现的MySQL扩展,如下所示: 用mysqli我怎么能做到这一点?我肯定我错过了很多事情。请以示例的方式帮助我,以实现我的目标。 问题答案: 使用mysqli,您可以通过以下方式进行操作(假设mysqli对象已创建- 您也可以使用过程方法,只是略有不同):

  • 问题内容: 我完全被mySQLi弄糊涂了。尽管多年来我一直在使用过程性mysql调用,但我希望习惯于为其提供的db security / mySQL注入保护编写准备好的语句。我正在尝试编写一个简单的select语句(是的,我知道为此进行程序调用可提高性能)。运行时,我会得到所有回声,直到击中组件为止。在我看来,这一切都相当简单,但是在阅读了数小时的mySQLi手册后,我感到茫然。任何想法为什么会失

  • 将android Studio更新到3.1后,我的项目未编译。与Gradle同步时显示错误。 javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException: PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到