我知道這是一個新手的錯誤,但我嘗試了4個漫長的日子,我無法解決這個問題。數據庫連接的基本錯誤
有人可以幫助我嗎?
<?php
class User {
\t private $dbHost = "HOST";
private $dbUsername = "USER";
private $dbPassword = "PASS";
private $dbName = "DB NAME";
\t private $userTbl = 'TABLE NAME';
\t
\t function __construct(){
\t \t if(!isset($this->db)){
// Connect to the database
$conn = new mysqli($this->dbHost, $this->dbUsername, $this->dbPassword, $this->dbName);
if($conn->connect_error){
die("Failed to connect with MySQL: " . $conn->connect_error);
}else{
$this->db = $conn;
}
}
\t }
\t
\t function checkUser($userData = array()){
\t \t if(!empty($userData)){
\t \t \t // Check whether user data already exists in database
\t \t \t $prevQuery = "SELECT * FROM ".$this->userTbl." WHERE oauth_provider = '".$userData['oauth_provider']."' AND oauth_uid = '".$userData['oauth_uid']."'";
\t \t \t $prevResult = $this->db->query($prevQuery);
\t \t \t if($prevResult->num_rows > 0){
\t \t \t \t // Update user data if already exists
\t \t \t \t $query = "UPDATE ".$this->userTbl." SET first_name = '".$userData['first_name']."', last_name = '".$userData['last_name']."', email = '".$userData['email']."', gender = '".$userData['gender']."', locale = '".$userData['locale']."', picture = '".$userData['picture']."', link = '".$userData['link']."', modified = '".date("Y-m-d H:i:s")."' WHERE oauth_provider = '".$userData['oauth_provider']."' AND oauth_uid = '".$userData['oauth_uid']."'";
\t \t \t \t $update = $this->db->query($query);
\t \t \t }else{
\t \t \t \t // Insert user data
\t \t \t \t $query = "INSERT INTO ".$this->userTbl." SET oauth_provider = '".$userData['oauth_provider']."', oauth_uid = '".$userData['oauth_uid']."', first_name = '".$userData['first_name']."', last_name = '".$userData['last_name']."', email = '".$userData['email']."', gender = '".$userData['gender']."', locale = '".$userData['locale']."', picture = '".$userData['picture']."', link = '".$userData['link']."', created = '".date("Y-m-d H:i:s")."', modified = '".date("Y-m-d H:i:s")."'";
\t \t \t \t $insert = $this->db->query($query);
\t \t \t }
\t \t \t
\t \t \t // Get user data from the database
\t \t \t $result = $this->db->query($prevQuery);
\t \t \t $userData = $result->fetch_assoc();
\t \t }
\t \t
\t \t // Return user data
\t \t return $userData;
\t }
}
?>
顯然,代碼是正確的,但是當我嘗試登錄它會顯示這個錯誤:
Warning: mysqli::mysqli(): (HY000/1044): Access denied for user 'USER'@'%' to database 'DB NAME' in /var/www/html/URL/web/bbb/User.php on line 12 Failed to connect with MySQL: Access denied for user 'USER'@'%' to database 'DB NAME'
你的db名稱你提供的是不正確的。或用戶名和密碼不匹配。嘗試'localhost','root',''''''你的db名稱' –