簡體   English   中英

錯誤:用戶'www-data'@'localhost'拒絕訪問

[英]Error: Access denied for user 'www-data'@'localhost'

我在lubuntu虛擬機上運行一個mysql數據庫(通過phpmyadmin管理),該虛擬機本身在mac 10.6上。 當我在我的網頁上收到以下錯誤時,一切都工作順利,直到更早,(我沒有觸及登錄代碼的任何部分!)

Erreur:SQLSTATE [28000] [1045]訪問被拒絕用戶'www-data'@'localhost'(使用密碼:NO)

我不明白這個錯誤來自哪里,因為我沒有在phpmyadmin上有一個名為www-data的用戶,我的文件應該使用數據庫上的root帳戶:

$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());
}

經過一些谷歌搜索,我看到人們修改了他們的config.conf文件,但我不知道如何或為什么。

使用雙引號字符串和連接的正確參數,使用雙引號字符串和$variable擴展更容易構建。

    $linkpdo = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
    $linkpdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
<?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();
}
?>

試試這個代碼。 有關更多詳細信息,請訪問此鏈接http://php.net/manual/en/pdo.connections.php

用戶和密碼是單獨的參數, http://php.net/manual/en/pdo.connections.php

所以在這里取出連接 - > .', '.$dbuser.' , '.$dbpass .', '.$dbuser.' , '.$dbpass

連接應該是:

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

嘗試這個 :

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM