gpt4 book ai didi

php - 如何在另一个类中使用$PDO变量?

转载 作者:行者123 更新时间:2023-11-29 12:03:05 24 4
gpt4 key购买 nike

我有数据库连接代码:

define('DBDRIVER', 'mysql');
define("DBHOST", "localhost");
define("DBNAME", "dbname");
define("DBUSER", "username");
define("DBPASS", "password");

$dboptions = array(
PDO::ATTR_PERSISTENT => FALSE,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
);

try {
$PDO = new PDO(DBDRIVER . ':host=' . DBHOST . ';dbname=' . DBNAME, DBUSER, DBPASS, $dboptions);
$PDO -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$PDO -> setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE);
} catch(PDOException $e) {
echo "Connection failed: " . $e -> getMessage();
}

并上课。

如何在我的类中使用 PDO 变量?我可以使用全局变量但不能在类里面工作吗?有没有系统在类中使用这个 PDO 变量(不要为 PDO 连接定义任何类或构造函数)?

最佳答案

class MyDb{
public $pdo;
private static $instance;

public function __construct(PDO $pdo){
$this->pdo = $pdo;
}

public static function getInstance()
{
if (!isset(self::$instance))
{
$object = __CLASS__;
self::$instance = new $object;
}
return self::$instance;
}

}

$query = MyDb::getInstance()->pdo->query('SELECT * FROM ...');

关于php - 如何在另一个类中使用$PDO变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32021593/

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