いつもお世話になっております。
MySQLで、グローバルサーバ上のPHPファイルにアクセスしようと、試みています。
正しいパスワードを入力しているにも関わらず、ページを開くと、
SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: YES)
のエラーが表示されてしまいます。原因を追究していますが、分からない状態です。
どなたか、詳しい方がいられたら、ご教示頂けますでしょうか。
######■パスワードが正しいと判断した証拠
コマンドプロンプト上で、違うパスワード、正しいパスワードを入力してみました。
$ mysql -u root -p Enter password: ************ //あえて違うパスワードを入れます ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) $ mysql -u root -p Enter password: ********* //正しいパスワードを入れます Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is **** Server version: 5.7.25-log MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MySQL [(none)]>
######■使用スクリプト
php
1<?php 2$db['user'] = "root"; 3$db['pass'] = "password"; 4$db['dsn'] = "mysql:dbname=sample; host=127.0.0.1; port=3307; charset=utf8;"; 5?> 6 7//データベース接続 8try { 9 $db = new PDO($db['dsn'], $db['user'], $db['pass']); 10} catch (PDOException $e) { 11 exit('Could not connect: ' . $e->getMessage()); 12} 13 14$font = $_POST["font"]; 15$color = $_POST["color"]; 16$title = $_POST["title"]; 17$comment = $_POST["comment"]; 18$created = $_POST["created"]; 19 20// 文字コードを指定 21$stmt = $dbh->query("SET NAMES utf8"); 22 23// エラーが発生した際にエラーメッセージを表示 24if(!stmt){ 25 $info = $dbh ->errorInfo(); 26 27 exit($info[2]); 28 echo $info[2]; 29} 30 31// SQL文 32$sql = "INSERT INTO font_data ( 33 font, color, title, commment, created 34 ) values ( 35 'AGBookRounded-Bold','00ff00','happy','my day',NOW())"; 36 37// 文を実行する準備を行い、文オブジェクトを返す 38$stmt = $dbh -> prepare($sql); 39 40// SQLを実行する 41$stmt -> execute(array($font, $color, $title, $comment, $created)); 42 43// データベースとの接続を切断する 44$dbh = null; 45 46?> 47 48<!DOCTYPE html> 49<head> 50<meta charset="UTF-8"/> 51<title>php_db.php</title> 52</head> 53 54<body> 55 56</body> 57</html> 58?>
何卒、宜しくお願い致します。
###修正後コメント
port番号指定に誤りがあったことが分かりました。3307から3306にしたところ、
SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: YES)
のエラーは無くなりました。
SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (61)
現在は、こちらのエラーが表示されている状況です。
パスワードに間違いはない。
port番号は3306で間違いない
hostは127.0.0.1で間違いない
であることが、現在分かっている情報です。
また、コマンドプロント上、phpAdmin上、htdocs上では、正常にページが見れており、
グローバルサーバー上でエラーが発生する、ということを、再度念のため注記します。
回答3件
あなたの回答
tips
プレビュー