gpt4 book ai didi

php - 是否可以使用另一个文件中定义的变量来建立 PDO 数据库连接? PHP

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

所以,我有一个带有

的 config.php 文件
define('DB_TYPE', 'mysql');
define('DB_HOST', 'localhost');
define('DB_USER', 'database_user');
define('DB_PASS', 'password');
define('DB_NAME', 'database_name');

当我定义我的 PDO 连接时,我可以使用它吗?

$dbh = new PDO("mysql:host=DB_HOST;dbname=DB_NAME;charset=utf8", "DB_USER", "DB_PASS");

我看到了这个问题:Setting up a db connection using variables from another file这很相似,但它使用的是 mysqli_connection,我不确定它与 PDO 有何不同,所以我不确定答案是否解决了我的问题。

如果我无法使用我的 config.php 文件中定义的变量,我是否应该使用在我的文件中本地定义它们:

$db_host = DB_HOST;
$db_user = DB_USER;

等等……

或者我使用 PDO 连接与 config.php 定义的变量不正确?如果是这样,我应该怎么做?

当我尝试运行我的网页时收到的错误说它无法连接到数据库主机(php_network_getaddresses:getaddrinfo 失败:没有这样的主机。)我认为我的 PDO 连接定义变量是罪魁祸首。

最佳答案

您可以将它们用作常量,但将它们包含在像这样的字符串中会使它认为它们是字符串,而不是常量。您可以像这样修改您的连接:

$dbh = new PDO("mysql:host={DB_HOST};dbname={DB_NAME};charset=utf8", DB_USER, DB_PASS);

$dbh = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME.";charset=utf8", DB_USER, DB_PASS);

关于php - 是否可以使用另一个文件中定义的变量来建立 PDO 数据库连接? PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38747571/

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