[英]Cannot redeclare class Mysqli
嗨,我剛讀完一本關於PHP的新書,就開始創建自己的登錄名。我走得還很遠,但遇到了我無法解決的錯誤。
我有3個檔案
index.php
session_start();
require 'DB_ACCES/connect.php';
if(isset($_POST['submit'])){
$conn = new Mysqli();
}
constants.php
define('DB_HOST', 'localhost');
define('DB_USER' , 'root');
define('DB_PWD' , '');
connect.php
require '../includes/constants.php';
class Mysqli{
private $conn;
function __construct() {
$this->conn = new mysqli(DB_HOST , DB_USER , DB_PWD) or die(mysqli_error());
}
}
當我運行index.php時,出現以下錯誤:
Fatal error: Cannot redeclare class Mysqli in D:\Program Files\xampp\htdocs\MyWork\Blog\DB_ACCES\connect.php on line 4
我在這里做錯什么,該如何修復?
該錯誤正是錯誤所指出的。
Mysqli是現有類,是非常常見的php共享庫mysqli
。 您無法重新聲明。
將您的類名更改為MyMysqli
或其他名稱。
class MyMysqli{
private $conn;
function __construct() {
$this->conn = new mysqli(DB_HOST , DB_USER , DB_PWD) or die(mysqli_error());
}
}
Mysqli已經存在於php中,因為php不區分大小寫,mysqli這個詞本身是保留字,因此無法在任何拼寫中使用。
您將能夠創建自己的擴展mysqli的類,因此它將基本上繼承現有mysqli類的所有屬性和方法。
class MyMySQLi extends MySQLi
{
private $conn;
function __construct() {
$this->conn = parent::__construct(DB_HOST , DB_USER , DB_PWD) or die(mysqli_error());
}
}
您的PHP環境包括mysqli,這是一個使名為mysqli的類可用的模塊。 只是給班級命名。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.