我有一个奇怪的包含文件问题。我希望它是一个简单的解决方案,因为它是一个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和这个包含文件的权限把我的头发拉了出来! _ 的
* 更新 - *
问题解决了,请参阅下面的答案。
答案 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包含文件工作正常!真是个傻瓜!