2016-04-19 19 views
6

私はmac 10.6上にあるlubuntu仮想マシンでmysqlデータベース(phpmyadminで管理)を実行しています。 すべてが、以前まではスムーズに働いていた(と私は、ログインコードのどの部分に触れていなかった!)私は私のページに次のエラー得たとき:エラー:ユーザー 'www-data' @ 'localhost'のアクセスが拒否されました

Erreur : SQLSTATE[28000] [1045] Access denied for user 'www-data'@'localhost' (using password: NO)

をこのエラーが来ているところ、私は理解していません私はphpMyAdminの上のユーザーと呼ばれるWWW-データを持っていないし、私のファイルは、データベース上でrootアカウントを使用してことになっているよう:私は人々がconfig.confファイルを変更したことを見たいくつかのグーグル後

$dbname = 'name'; 
$dbuser = 'root'; 
$dbpass = '*****'; 
$dbhost = 'localhost'; 
try{ 
    $linkpdo = new PDO('mysql:host='.$dbhost.';'.$dbname.', '.$dbuser.' , '.$dbpass); 
    $linkpdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} 
catch (Exception $e) { 
    die('Erreur : '.$e->getMessage()); 
} 

しかし、私はどのように、なぜか分からない。

+0

'$ linkpdo = new PDO(" mysql:host = '"。$ dbhost。"; dbname =' "。$ dbname。" '、$ dbuser、$ dbpass); ' –

答えて

7

を。

$linkpdo = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass); 
    $linkpdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
+0

おかげさまで、そのエラーを取り除いてしまいましたが、別の場所がすでにその場所にあるようです... –

+0

次のエラーの詳細を別の質問で尋ねるのが良いでしょう。 – RiggsFolly

+0

実際には、大丈夫です。私に死の白いスクリーンを与えた –

3

ユーザーとパスワードは別のパラメータhttp://php.net/manual/en/pdo.connections.phpです。

ここでconcatanation - >.', '.$dbuser.' , '.$dbpassを取り出してください。

接続する必要があります:

$linkpdo = new PDO('mysql:host='.$dbhost.';dbname='. $dbname, $dbuser, $dbpass);  
+2

あなたはその構文を確認したいかもしれませんChris – RiggsFolly

+0

ああ、ありがとう、元の質問でそれを逃した。 – chris85

2

このお試しください:その簡単に二重引用符で囲まれた文字列と$variable拡張を使用して構築するために、二重引用符で囲まれた文字列との接続のための正しいパラメータを使用し

$linkpdo = new PDO('mysql:host='.$dbhost.';dbname='.$dbname , $dbuser, $dbpass); 
5
<?php 

$dsn = 'mysql:dbname=name;host=localhost'; 
$user = 'root'; 
$password = '*****'; 


try { 
    $dbh = new PDO($dsn, $user, $password); 
} catch (PDOException $e) { 
    echo 'Connection failed: ' . $e->getMessage(); 
} 
?> 

このコードを試してみてください。​​

関連する問題