PHP包含数据库连接-密码不可访问


PHP Include DB Conn - Password not accessible

我有一个奇怪的包含文件问题。我希望这是一个简单的修复,因为我是一个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包含文件工作正常!真是个平民!

相关文章: