[英]PHP Include DB Conn - Password not accessible
我有一个奇怪的包含文件问题。 由于希望使用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和这个包含文件的权限今晚把头发拉出来了!! _
* 更新-*
问题已解决,请在下面查看我的答案。
如果db-conn.php和parent.php位于同一文件夹中,则可以直接使用
include ('db-conn.php');
而且我不确定使用unset ($dbHostname, $dbUsername, $dbPassword);
也就是说没有设置密码。 因此,也许应该为$ 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作为主机名。 问题在于,有时由于host.ini文件中缺少一行,PHP不接受localhost作为主机。
对不起,浪费时间的家伙。 我发现了问题。 我没有为FTP用户提供对我在根目录之前创建的\\php-private\\
文件夹的写访问权限,因此,当我更改文件并上传它时,如果我实际上检查了FTP日志,我会发现它失败并显示为'拒绝访问'。 我更改了权限和kapow,我的CURRENT包含文件运行正常! 真是可恶!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.