以下のコード行を使用して、SQL データベースに接続しようとしています。
mysql_connect('localhost','root','');
ローカルホストを別のものに編集すると、エラーが発生します。パスワード引数を別のものに編集すると、エラーが発生します。これは例外ではありませんが、ルートであるユーザー名を編集してもエラーは発生しません。ユーザー名でエラーが発生しないのはなぜですか。どのユーザー名でも接続できるようです。私は何か間違ったことをしましたか?
ほとんどの場合、「接続」できますが、クエリを実行する限り、実際には何もできません。あなたが実行する場合
SELECT * FROM mysql.user
おそらく、次のような行が表示されます。
Host User Password Select_priv ...
localhost '' '' N
データベースには、どのテーブルに対しても権限のない空のユーザー/パスワード レコードがあります。したがって、存在しないユーザーに接続すると (パスワードは空にする必要があります。そうしないと、アクセス エラーが発生します)、実際には接続できますが、実際には何もできません。