繁体   English   中英

PHP Include DB Conn-密码不可访问

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM