0

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

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

db-conn.php

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

父.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

4 回答 4

0

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

include ('db-conn.php');

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

还有就是说没有设置密码。所以也许你应该为 $dbPassword 变量使用空字符串$dbpassword = '';

于 2012-07-23T05:45:10.163 回答
0
Access denied for user 'xxx'@'localhost' (using password: NO)

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

 global $dbUsername, $dbPassword, $dbHostname;
于 2012-07-23T06:03:38.203 回答
0

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

于 2012-07-23T06:46:31.550 回答
0

对不起,浪费了伙计们的时间。我发现了问题。我没有给 FTP 用户对\php-private\我在 root 之前创建的文件夹的写入权限,所以当我更改文件并上传它时,如果我真的检查了 FTP 日志,我会看到它因“拒绝访问”而失败。我更改了权限和 kapow,我的当前包含文件工作正常!真是个平民!

于 2012-07-23T06:50:33.157 回答