[英]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.