ご利用前に必ずお読みください。
フォーラムTOP > Xfree(旧無料レンタルサーバー) > MySQLに接続できない

MySQLに接続できない

by MySQL接続問題さん (329ce977)
投稿数:0回
(ベストアンサー:0回)
2022/01/31 21:15
MySQLを有効にし、データベースを作成したのですが、接続がうまくできません。

$mysqli = new mysqli('MySQLホスト名', 'ユーザー名', 'データベースのユーザ名のパスワード(自分で設定したもの)', 'データベース名');

というコードを「<?php」の下に書き(つまり2行目)、接続したところ、接続拒否されました。これはアカウントの設定問題なのでしょうか?
phpMyadminでログインしたところ、特権なしとなっていたのですが、これが原因でしょうか?

エラー文を下に記載します。分かる方がいればご教授願います。

Warning: mysqli::__construct(): (42000/1044): Access denied for user 'ユーザー名'@'MySQLホスト名' to database 'データベース名' in /home/test/test.php.xdomain.jp/public_html/data/test.php on line 2

※これらのユーザー名やホスト名、データベース名はXFREEダッシュボードのデータベース設定よりコピーしています
回答する
解決済みにする
by .さん (4b9b203e)
投稿数:257回
(ベストアンサー:32回)
2022/02/01 06:16
同じようにやってみましたがこちらでは特にエラーは発生しませんでした。
パスワードをわざと間違えてやると同じwarningが出ることも確認しました。

チェックポイントとしては次のあたりでしょう。

DBは作成済みですか?
ホスト名、MySQLのID、そのパスワード、DB名は間違いないですか?
そのMySQLと同じサーバーからアクセスしようとしていますか?
(同じサーバーというのは正しくない書き方です。testというIDだとすると、testのPHPサーバーにあるMySQLをアクセスするには、testのPHPサーバーからアクセスする必要があると言う意味です)

特権なしというのはそれで大丈夫です。
自分で作ったPHPなどからDBを作成する権限がないという意味です。DB作成は管理パネルから行ってください。
トピック作成者からの返信 2022/02/01 06:59 posted(329ce977)

ご回答ありがとうございます。
データベースの中にあるテーブルと紐づけることは必要でしょうか?
追加の質問となってしまい、申し訳ありません。
また、データベース名はどこまで書けばいいのでしょうか?
(IDがtestの場合・データベース名がtestdataの場合:test_testdataと記述するのでしょうか?それともtestdataと記述するのでしょうか?

by .さん (4b9b203e)
投稿数:257回
(ベストアンサー:32回)
2022/02/01 18:29
> データベースの中にあるテーブルと紐づけることは必要でしょうか?

new mysqli()でデータベースを開いたら、その後でテーブルを作ったり、テーブルを参照したりします。


> また、データベース名はどこまで書けばいいのでしょうか?
> (IDがtestの場合・データベース名がtestdataの場合:test_testdataと記述するのでしょうか?それともtestdataと記述するのでしょうか?

MySQLサーバーがmysql1.php.xdomain.ne.jp、
MySQLのユーザー名がtest、
MySQLのパスワードがpasswd、
データベース名がtestdataだとすると、

$mysqli = new mysqli('mysql1.php.xdomain.ne.jp', 'test', 'passwd', 'testdata');

となります。
トピック作成者からの返信 2022/02/01 21:15 posted(329ce977)

ありがとうございます。
データベース名やユーザ名の記述方法が間違っていました。
しかし、今回は
Warning: mysqli::__construct(): (28000/1045): Access denied for user 'ユーザ名'@'サーバー名' (using password: YES) in /home/*ID*/*ID*.php.xdomain.jp/public_html/data/*ファイル名*.php on line 2

と、パスワードがYESとなって接続拒否されました...
これはどうすればいいのでしょうか?

by .さん (4b9b203e)
投稿数:257回
(ベストアンサー:32回)
2022/02/02 06:22
おそらくIDかパスワードか、少なくともどちらかが間違っています。
この回答に返信する