• 締切済み

PHPからのmysql_connect();がエラーで接続できません。

QbickUと申します。よろしくお願いします。 環境は、 WinNT / Apache1.3.29 / PHP4.3.6 / MySQL 3.23.49 です。 症状としては、phpで次のように記述し実行すると //サーバー名--localhost ユーザー名--root パスワード--123456 $dbHandle = mysql_connect("localhost","root","123456"); if ($dbHandle == False) { print ("can not connect db\n"); exit; } else { print ("OK\n"); exit; } -- 次のようなエラーが返ります。 Warning: mysql_connect(): Access denied for user: 'SYSTEM@localhost' (Using password: NO) in c:\html\mytest1.php on line 4 can not connect db -- 補足事項なのですが ・MySQL権限の初期設定済みです。 ・コマンドプロンプトからは接続、テーブル操作ができます。(ルート権限 user:root pw:123456、また他の一般権限ユーザーにおいても) ・phpinfo();の結果において、MySQLの表示が確認できます。 ・mysqld-nt.exeはひとつしか起動していません。 'SYSTEM@localhost',password: NOとなっているため、ユーザーID、パスワードとも渡っていないような気がします。 同じようなスレッドを見つけたのですが、いずれもそこで解決に至っておらず、往生しています。 アドバイスをいただけたらうれしいです。よろしくお願いします。

みんなの回答

  • angband
  • ベストアンサー率51% (86/168)
回答No.3

SYSTEMはWindowsのユーザー名です。 このエラーは文字通りlocalhostへのアクセス(user=SYSTEM, パスワードなし)が許されていないというものです。 かなり不思議なんですが、本当にmytest1.phpの4行目は $dbHandle = mysql_connect("localhost","root","123456"); なんですか?それだとユーザーに「root」を指定しているのに なぜかユーザーがSYSTEMに変わってしまっていることになります。 それはありえないことと僕には思えます。

QbickU
質問者

補足

はい。本当に $dbHandle = mysql_connect("localhost","root","123456"); です。 私もありえないことだと思うのですが、一件だけ同様の事例を見つけました。 -- http://www.sound-uz.jp/php/bbs/index.php?mode=klog&num=23 記事番号 1618 -- こちらのスレッドでも解決には至っていないようです。

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.2

適当な発言した#1です、すみません。 と謝っても全然詳しくないので回答できませんが。。 $dbHandle = mysql_connect("localhost", "system", ""); でも警告が出ますか?通常は出ないと思うのですが。 MySQLに比べてPHPのバージョンが新しいですが、 PHPはアップデートされたのでしょうか。 (msiでインストールしたなら問題なさそうですが) XP、Linuxに何パターンか入れてますが、このエラーは出たことがないです。 NTだからでしょうか?

QbickU
質問者

補足

tany180sxさん、ご回答ありがとうございます。 $dbHandle = mysql_connect("localhost", "system", ""); でも同様のエラーがでます。たとえば極端なところ、 $dbHandle = mysql_connect("", "", ""); でも同様の結果になります。 PHPはmsiでアップデートしました。 「SYSYTEM@localhost」などで調べても、あまり前例がないようで、どうしたものかと。。 やはり、バージョンが古いせいもあるのかと思っています。

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.1

Warning: mysql_connect(): Access denied for user: 'SYSTEM@localhost' (Using password: NO) in c:\html\mytest1.php on line 4 SYSTEMってなんですか? 定数ですか?

QbickU
質問者

補足

tany180sxさん、ご回答ありがとうございます。 SYSTEMは定数ではありません。 こちらでは、何も設定していない状態なので、私も「SYSTEM」って何だ?といった具合です。