PHP包含数据库连接 - 密码无法访问

时间:2012-07-23 05:36:12

标签: php

我有一个奇怪的包含文件问题。我希望它是一个简单的解决方案,因为它是一个2天大的PHP菜鸟。

我只是想将数据库凭据包含在我的父脚本中,如下所示:

DB-conn.php

<?php
$dbUsername = "xxx";
$dbPassword = "xxx";
$dbHostname = "localhost";
?>

parent.php

<?php
include("c:/inetpub/vhosts/mydomain.net/php-private/db-conn.php");

//echo $dbPassword;
//echo $dbUsername;

$dbHandle = mysql_connect($dbHostname, $dbUsername, $dbPassword) or die("Unable to load page content due to a connection fault.");
unset ($dbHostname, $dbUsername, $dbPassword);

echo "Connected to MySQL<br><br>";
?>

但是我收到了这个错误:

访问被拒绝用户'xxx'@'localhost'(使用密码:否)

有什么奇怪的(对我而言)是我可以成功回显用户名和主机名,但我无法回复密码,它是空的。然而,如果我转到我的包含文件,从'dbPassword'复制密码并将其粘贴在我的父页面上,它可以正常工作。这证明我的密码是正确的,包含用户名和主机名,我只是无法访问我的密码变量!

有人可以直接告诉我这里。今晚我已经用open_basedir和这个包含文件的权限把我的头发拉了出来! _

* 更新 - *

问题解决了,请参阅下面的答案。

4 个答案:

答案 0 :(得分:0)

如果db-conn.php和parent.php在同一个文件夹中,可以直接使用

include ('db-conn.php');

我不确定使用unset ($dbHostname, $dbUsername, $dbPassword);

也就是说没有设置密码。所以也许你应该为$ dbPassword变量$dbpassword = '';

使用空字符串

答案 1 :(得分:0)

Access denied for user 'xxx'@'localhost' (using password: NO)

只是告诉你你没有给mysql_connect()提供密码 您可以1.检查是否包含正确的db-conn.php文件。 2.将其添加到db-conn.php

的顶部
 global $dbUsername, $dbPassword, $dbHostname;

答案 2 :(得分:0)

尝试使用127.0.0.1作为主机名。问题是有时PHP不接受localhost作为主机,因为host.ini文件中缺少一行。

答案 3 :(得分:0)

抱歉浪费时间。我发现了这个问题。我没有给FTP用户写入我在root之前创建的\php-private\文件夹的访问权限,所以当我更改文件并上传它时,如果我实际检查了FTP日志,我会看到它失败了'拒绝访问'。我更改了权限和kapow,我的CURRENT包含文件工作正常!真是个傻瓜!