![](/img/trans.png)
[英]Access denied for user 'XXX'@'localhost' (using password: NO)
[英]Access denied for user ''@'localhost' (using password: NO)
我有Ubuntu 14.04 LTS。 我设置了Apache,phpmyadmin和mysql。 我可以使用设置的密码和root作为用户名通过localhost / phpmyadmin访问数据库。 我在/ etc / apache2 / sites-enabled中放置了一个链接,该链接指向位于/ etc / apache2 / sites-available中的网站的原始.conf文件。 它具有以下几行( mypage.conf
php_value mysql.default.user root
php_value mysql.default.password mypass
php_value mysql.default.host localhost
当我尝试使用index.php中的此数据库连接数据库时,它可以正常工作:
mysql_connect('localhost', 'root', 'mypass') or die(mysql_error());
但是当我尝试使用下面的方法连接到数据库时:
mysql_connect(ini_get("mysql.default.host"), ini_get("mysql.default.user"), ini_get("mysql.default.password")) or die(mysql_error());
作为回报,它将此错误消息发布到页面,并且不执行其余代码:
Access denied for user ''@'localhost' (using password: NO)
据我了解,默认值是''。 因此,我必须对.conf文件做错什么。 你能帮我吗?
如@Vanitas所述,我将连接样式更改为PDO而不是mysql。 这是我的
connection.php
<?php
DEFINE('DB_HOST', 'localhost');
DEFINE('DB_NAME', 'mydb');
DEFINE('DB_USER', 'usr');
DEFINE('DB_PASS', 'pss');
try{
$db = new PDO('mysql:host='.DB_HOST.'; dbname='.DB_NAME, DB_USER, DB_PASS);
}catch(PDOException $exeption){
echo $exeption->getMessage(). '<br/>';
die();
}
?>
我通过使用它来检索
require_once('../../0n/connection.php');
它在Web目录之外。 因此,这很安全。 我想。 它正在正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.