gpt4 book ai didi

php - 如何使用匿名函数和闭包正确设置 PDO 连接

转载 作者:行者123 更新时间:2023-11-29 19:36:29 25 4
gpt4 key购买 nike

借助类似主题帖子的答案Answer by "teresko"我已经设法了解工厂设计方法来建立与我的数据库的连接。但我无法在代码中实现逻辑,因为我收到此错误:

fatal error :在第 42 行的 C:\somewhere\db2.php 中找不到类“conn”

这是我的数据库文件:

$provider = function() {
$db_user="root"; // db user
$db_password="";// db password (mention your db password here)
$db_database="cl";// database name
$db_host="localhost"; // db server

$instance = new PDO("mysql:host=$db_host;dbname=$db_database", $db_user, $db_password);
$instance->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$instance->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
return $instance;
};

$factory = new StructureFactory( $provider );
$conn = $factory->create('conn');

class StructureFactory {
// protected $provider = null;
protected $connection = null;

public function __construct( callable $provider ) {
$this->provider = $provider;
}

public function create($name) {
if ( $this->connection == null ) {
$this->connection = call_user_func( $this->provider );
}
return new $name($this->connection );
}
}

由于我是新用户,因此无法请求此问题作为对原始答案的评论。你们能帮我找出我错在哪里吗?正如最初的问题所说,“我真的很想知道如何使用 PHP 和 PDO 正确连接到 MySQL 数据库并使其易于访问。我渴望学习......”

最佳答案

鉴于您是新用户,只需使其简单的 PDO 实例即可。

$db_user="root"; // db user
$db_password="";// db password (mention your db password here)
$db_database="cl";// database name
$db_host="localhost"; // db server
$db_charset="utf8";

$conn = new PDO("mysql:host=$db_host;dbname=$db_database;charset=$db_charset", $db_user, $db_password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

关于php - 如何使用匿名函数和闭包正确设置 PDO 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41543141/

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