これは初心者のエラーですが、私は長年の4日間試してみると、これだけで解決できません。DB接続の基本エラー
誰かが私を助けることができますか?
<?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'
指定したデータベース名が間違っています。またはユーザー名とパスワードの不一致。 'localhost'、' root'、 '' ''、'あなたのdb名 ' –