Php 致命错误:Uncaught ArgumentCounter错误:mysqli_connect_errno()只需要0个参数,给定1个

Php 致命错误:Uncaught ArgumentCounter错误:mysqli_connect_errno()只需要0个参数,给定1个,php,mysqli,Php,Mysqli,我在本地主机上收到以下错误: 致命错误:未捕获ArgumentCounter错误:mysqli\u connect\u errno 只需要0个参数,1个在中给定 使用: XAMPPV3.2.4,Apache和MySQL都在正确的端口上运行,它们处于活动状态。它在第52行给出了一个错误,这是下面的if语句 代码: 函数mysqli\u connect\u errno不接受任何参数,该函数的目的是: 返回上次调用的最后一个错误代码 mysqli_连接 如果要确定连接是否成功建立,则应执行以下操作:

我在本地主机上收到以下错误:

致命错误:未捕获ArgumentCounter错误:mysqli\u connect\u errno 只需要0个参数,1个在中给定

使用: XAMPPV3.2.4,Apache和MySQL都在正确的端口上运行,它们处于活动状态。它在第52行给出了一个错误,这是下面的if语句

代码:

函数mysqli\u connect\u errno不接受任何参数,该函数的目的是:

返回上次调用的最后一个错误代码 mysqli_连接

如果要确定连接是否成功建立,则应执行以下操作:

public function __construct()
     {
        $db = $this->localDatabase();
        
        $this->con = mysqli_connect($db['host'], $db['user'], $db['pass'], $db['db']);
        
        if (!$this->con)
        {
            echo "Failed to connect to MySQL: " . mysqli_connect_error();
        }
    }
您可以在php.net的示例1下看到一个示例:

函数mysqli\u connect\u errno不接受文档中所示的任何参数

你真的不应该使用这个功能!求你了,忘记它的存在。相反,启用正确的mysqli错误报告并停止担心手动错误检查

打开与mysqli的连接的正确方法是:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$this->con = new mysqli($db['host'], $db['user'], $db['pass'], $db['db']);
$this->con->set_charset('utf8mb4');

没别的了

就像错误解释的那样。mysqli\u connect\u errno期望您为其提供的参数正好为0。只需从您对mysqli\u connect\u errno$this->con的呼叫中删除$this->con,错误就再清楚不过了。谢谢。然而,出现了其他问题。也许我需要降级PHP版本。谢谢你RJK。你的回答至少帮助我解决了我在这里提供的问题。由于出现了新的错误,它没有修正整个解。但我把PHP的版本降到了更低的版本,原来是PHP8,现在是7.3,这修复了所有问题:-p
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$this->con = new mysqli($db['host'], $db['user'], $db['pass'], $db['db']);
$this->con->set_charset('utf8mb4');