我有一个奇怪的包含文件问题。我希望这是一个简单的修复,因为我是一个2天大的PHP noob。
我只是想在我的父脚本中包含DB凭据,如下所示:
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'的访问被拒绝(使用密码:NO)
(对我来说)奇怪的是,我可以成功地回显用户名和主机名,但我不能回显密码,它是空的。然而,如果我转到我的包含文件,从"dbPassword"复制密码并将其内联粘贴到我的父页上,它就可以工作了。这证明了我的密码是正确的,包括用户名和主机名,我就是无法访问我的密码变量!
有人能把我直接送到这里吗。今晚我已经用open_basedir和这个包含文件的权限把头发拔了出来_
*更新-*
问题解决了,请看下面我的答案。
如果db-conn.php和parent.php在同一个文件夹中,则可以直接使用
include ('db-conn.php');
我不确定unset ($dbHostname, $dbUsername, $dbPassword);
的使用情况
此外,它还说没有设置密码。因此,也许您应该为$dbPassword变量$dbpassword = '';
使用空字符串
Access denied for user 'xxx'@'localhost' (using password: NO)
只是简单地告诉您没有将密码提供给mysql_connect()你可以1。检查是否包含正确的db-conn.php文件。2.将其添加到db-conn.php 的顶部
global $dbUsername, $dbPassword, $dbHostname;
尝试使用127.0.0.1作为主机名。问题是,有时PHP不接受localhost作为主机,因为host.ini文件中缺少一行。
很抱歉浪费时间。我发现了问题。我没有给FTP用户对我在根目录之前创建的'php-private'
文件夹的写访问权限,所以当我更改文件并上传时,如果我真的检查了FTP日志,我会发现它以"拒绝访问"失败。我更改了权限和kapow,我的CURRENT包含文件工作正常!真是个平民!