gpt4 book ai didi

php - 其他类(class)的PDO有什么问题?

转载 作者:太空宇宙 更新时间:2023-11-03 11:02:25 26 4
gpt4 key购买 nike

我只是将我网站的 MySQL 更改为 PDO,当我尝试在其他类中使用 PDO 时遇到了一个奇怪的问题。

class Database {
private $pdo;

public function __construct() {
$this->pdo = new PDO('mysql:host=localhost;dbname=appdora;charset=utf8', 'root', 'root');
}
}

class doClass {

//Variables
private $db;

//PDO
public function __construct(Database $db) {
$this->db = $db;
}

并且代码返回:以下错误:

Catchable fatal error: Argument 1 passed to doClass::__construct() must be an Instance of Database, none given, called in .../index.php on line xx 并在 ../classes 中定义。第 xx 行的 php

代码:

$do = new doClass();
if ($do->loginCheck()) { echo 'loginOk'; } else { 'loginError'; }

loginCheck() 是一个无需类即可工作的简单函数!

请问有什么问题吗?提前致谢!

最佳答案

$do = new doClass();

您定义了您的 doClass 类以期望在构造函数中有一个参数:

public function __construct(Database $db)

因此您需要提供 Database 类型的参数才能成功构造对象。

例如,如果您有一个数据库对象存储在变量 $database 之前的某处,您可以简单地将它传递给 doClass 的构造函数,如下所示:

$do = new doClass($database);

关于php - 其他类(class)的PDO有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14668062/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com