簡體   English   中英

mysqli_error 是空類到類

[英]mysqli_error is blank class to class

當我收到 mysqli_query 錯誤時,mysqli_error 為空白或不顯示任何錯誤消息。

例子:

<?php
class xD
{
    function s()
    {
        $conn = mysqli_connect('localhost','root','','arena');
        
        return $conn;
    }
}

class xP extends xD
{   
    function a()
    {
        $query = "SELECT name FROM mytable";
        
        $result = mysqli_query($this->s(), $query) or die("Error in the consult..: " . mysqli_error($this->s()));
    }
}

$a = new xP();

$a->a();
?>

輸出:

咨詢中的錯誤..:

我該怎么辦?

每次需要引用連接時,您都在創建一個全新的數據庫連接。

最好將連接傳遞給您的類並將其存儲為屬性:

class xD
{
    protected $conn;
    public function __construct($conn){
        $this->conn = $conn;
    }
}

class xP extends xD
{
    public function __construct($conn)
    {
        parent::__construct($conn);
    }

    function a()
    {
        $query = "SELECT name FROM mytable";

        $result = mysqli_query($this->conn, $query) or die("Error in the consult..: " . mysqli_error($this->conn));
    }
}

在構造函數中傳遞連接,並從屬性$this->conn引用它:

// create the connection (maybe in a bootstrap?)
$conn = mysqli_connect('localhost','','','');

$a = new xP($conn);
$a->a();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM