为什么包含我的凭据的变量不会插入到PDO连接中?

时间:2017-08-28 03:29:21

标签: php mysql variables pdo

所以我有一个页面,让我们称之为page1.php,这需要另一个页面(page2.php),这也需要另一个页面(page3.php)。现在page3.php只包含四个变量,它们是数据库服务器的地址,用户名,密码和要选择的数据库。

Page2.php只包含基于page3.php变量与服务器交互的函数。以下是该代码的示例。

$conn = new PDO("mysql:host=$pdo_conn;dbname=$pdo_database", $pdo_username, $pdo_password);

每当我运行脚本时,都会发生致命错误......

Uncaught PDOException: SQLSTATE[HY000] [1045] Access denied for user ''@'10.24.3.40'

因此插入了主机名,但用户名和密码不是。当我手动将变量更改为包含用户名和密码的实际字符串时,它完全正常。为什么会这样?

1 个答案:

答案 0 :(得分:0)

您是否在该连接代码之前包含了其他PHP文件?

在新PDO行上方插入以下内容,并告知我们是否正确输出变量:

var_dump("username: " . $pdo_username, "password: " . $pdo_password);