用户 ''@'localhost' 的访问被拒绝(使用密码:NO)

Access denied for user ''@'localhost' (using password: NO)

我有 Ubuntu 14.04 LTS。 我设置了 apache、phpmyadmin 和 mysql。我可以使用我设置的密码和 root 作为用户名通过 localhost/phpmyadmin 访问数据库。我在 /etc/apache2/sites-enabled 里面放了一个 link,links 到位于 /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());

在 return 中,它将此错误消息发布到页面并且不执行其余代码:

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');

它在网络目录之外。所以,它是安全的。我想。而且它运行良好。