• 締切済み
  • 困ってます

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、パスワードとも渡っていないような気がします。 同じようなスレッドを見つけたのですが、いずれもそこで解決に至っておらず、往生しています。 アドバイスをいただけたらうれしいです。よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • MySQL
  • 回答数3
  • 閲覧数1943
  • ありがとう数3

みんなの回答

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

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

共感・感謝の気持ちを伝えよう!

質問者からの補足

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

  • 回答No.2

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

共感・感謝の気持ちを伝えよう!

質問者からの補足

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

  • 回答No.1

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

共感・感謝の気持ちを伝えよう!

質問者からの補足

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

関連するQ&A

  • PHP+MySQLでCall to undefined function mysql_connect()

    PHP5.0.14 MySQL5.0.22 http://allabout.co.jp/computer/database/closeup/CU20060414A/index.htm 上記のサイトを見て $dbHandle = mysql_connect("localhost","root","root") or die("can not connect db\n"); を実行したところ、タイトルのようなエラーが出ました。 php.iniでextension=php_mysql.dllも書かれていて、 php_mysql.dllもphp/extに入っています。 phpinfo()で見ると、MySQLらしき部分がありません。 どうすれば実行できるのでしょうか?

    • ベストアンサー
    • MySQL
  • PHP4からMySQLに接続できません。

    質問です。 PHPから、MySQLを操作したいのですが、 mysql_connect("localhost","user","pass") ですと、 Client does not support authentication protocol requested by server; consider upgrading MySQL client in~ というエラーが、 mysql_connect("localhost","root","") ですと、 Access denied for user 'root'@'localhost' (using password: NO) in~ というエラーがでて、 接続できません。 PHP4.3.10,MySQL4.1を使っており、単独では動作してい ます。 何か分かる人、お願いします。

    • ベストアンサー
    • PHP
  • MySQLへの接続がうまくいっていないようなのですが

    つい最近PHPをはじめたばかりなのですが、環境を整えて試しにスクリプトを実行してみるとエラーが出てしまいました。 開発環境は Apache:2.0.53/PHP:5.2.1/MySQL:5.0.15 です。 実行したスクリプトは $dbHandle = mysql_connect("localhost","ユーザー","パスワード") or die("can not connect db\n"); 出てきたエラーが Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in C:\Program Files\Apache Group\Apache2\htdocs\myphp1.php on line 18 can not connect db MySQLへの接続ができていないとまでは理解できたのですが・・・・・ 申し訳ありませんが何卒よろしくお願いします。

    • 締切済み
    • PHP
  • PHPからMySQLに接続することができません。

    PHPからMySQLに接続することができません。 解決方法をご存じの方は教えていただけないでしょうか。 PHPから、mysql_connect を行った際、以下のエラーが発生してしまいます。 Can't connect to local MySQL server through socket '/tmp/mysql.sock' (13) 環境 OS:CentOS 5.3 DB:Mysql 5.0.67(ソースからインストール) Web:Apache PHPのソースの一部を以下に記します。   $db_host = 'localhost';//DB_NAME;   $db_user = 'user';//DB_USER;   $db_pass = 'pass';//DB_PASS;   $db = mysql_connect($db_host,$db_user,$db_pass); 以下の方法も試したのですが、エラーメッセージは変わりませんでした。   $mysql_connect("localhost:/tmp/mysql.sock","mysql","passwd") 端末のコマンドからMySQLへの接続は成功します。 ホスト名、ユーザー名、パスワードも上記と同一のものです。   $ /usr/local/mysql/bin/mysql -h localhost -u user -p   Enter password:pass 以上です。宜しくお願いします。

    • 締切済み
    • PHP
  • PHP+ApacheでMySQLに接続できない。プロンプトからは可能

    以下のようなコードでmysqltest.phpというファイルを作成しました。 これを php -f mysqltest.php とやると成功します。 しかし、ブラウザでhttp://パス/mysqltext.phpとやると失敗します。 双方がどう違うのか教えていただけないでしょうか。 以下コードです。 ----------------------- <html> <body> <?php $hostname = "localhost:/var/lib/mysql/mysql.sock"; $name = "root"; $password = "pass"; printf( "hostname:%s<br>\n" , $hostname ); printf( "username:%s<br>\n" , $name ); printf( "password:%s<br>\n" , $password ); mysql_connect($hostname, $name, $password ) or die('cannot connect to database'); ?> </body> </html> ---------------------------------- 単に「ホスト:ポート」「ユーザネーム」「パスワード」を指定してconnectしているだけです。 コマンドラインから実行すると成功します ---------------------- <html> <body> hostname:localhost:/var/lib/mysql/mysql.sock<br> username:root<br> password:komaba<br> </body> </html> ---------------------------- ブラウザで実行すると失敗します。 ----------------------------- hostname:localhost:/var/lib/mysql/mysql.sock username:root password:pass cannot connect to database -----------------------------

  • PHPでMYSQLに接続できません

    PHP(4.3.11)でMYSQL(5.0.81)に接続しようとすると接続できず、 Client does not support authentication protocol requested by server; consider upgrading MySQL client というエラーになります。 PHP文はこのように記述しています。 <?php $con = mysql_connect("localhost","root","password"); if (!$con) { print(mysql_error()); exit('データベースに接続できませんでした。'); } ?> my.cnf に old_passwords=1 を記述し、mysqlを再起動したのですが同じエラーでした。 他に設定しなければならない事があるのでしょうか?

  • PHP+MySQL mysql_connectのエラー

    PHP初心者なのですが、 PHPを使用して外部ホストのMySQLデータベースから データを取り出すプログラムを開発しています。 mysql_connect関数でデータベースに接続する段階で 内部エラーとなってしまいます。 プログラムは以下のようなものです。 $url = "000.000.00.00";//外部ホストのアドレスです $user = "username"; $pass = "password"; $db = "databasename"; $link = mysql_connect($url,$user,$pass) or die("MySQLへの接続に失敗しました。"); ホストアドレスやユーザー名、パスワードは 以前VisualBasic+ODBC+MySQLでデータを読み込んでいたときに 使用していたものなので、間違いはないと思います。 非常に初歩的な質問で申し訳ありませんが、 非常に困っております。 ご助言よろしくお願いします。

    • 締切済み
    • PHP
  • 関数mysql_connectについて

    ブラウザからmysqlに接続したいのですが、このようなエラーが出てしまい接続できません。 Fatal error: Call to undefined function mysql_connect() in C:\Apache Group\Apache2\htdocs\kan.php on line 9 9行目 mysql_connect(localhost,root,password); そもそもこのlocalhostとはなんなのでしょうか? 分かる方がいたらお願いします。

    • ベストアンサー
    • MySQL
  • PHPでのMySQL接続エラーについて

    PHPを使用してMySQLサーバに接続しようと思うのですが、どうしても "Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in C:\Server\Apache2.2\htdocs\htdocs\connect.php on line 2" と表示されて接続できません。いろいろ試してみたので、情報を列挙いたします。 動作環境 OS:WindowsXP Pro Apache2.2.8 PHP5.2.6 MySQL5.0 1.コマンドプロンプトからはMySQLに正常に入ることが可能です。 2.上記のエラーが出るPHPプログラムは以下の通りです。 "<?php %conn = mysql_connect("localhost", "root", "password"); ?> 3.phpMyAdminを使って接続しようとしても以下のエラーが出ます。 #2003 - サーバが応答しません" 4.セキュリティソフトを終了させて接続しても同様の症状でした。 5.phpinfo()関数は正常に動作し、mysqlやmysqliの情報も表示されます。 以上の内容ですが、よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • PHPからmySQLに接続できない

    自宅サーバー(PHP4.3.9+mySQL4.1+Windows2000)で構築を試みています。 PHPからmySQLに接続するのに次のようなソースを試してみました。 <?php $mysql=mysql_connect("localhost","user","password"); if(mysql_select_db("dbname", $mysql)){ print "OK"; }else{ print "NG"; } ?> 次のようなエラーが返りました。 Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\create.php on line Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\create.php on line このエラーについていろいろ調べたのですが、mySQL4.1以降からパスワードのハッシュが変更になっており、PHPからアクセスできないという記事を見つけました。 解決方法としてmySQL起動時に「--old-passwords」オプションをつければよい、という記事だったのですが、 質問1:このエラーは果たしてパスワードの問題なのでしょうか。他に考えられる原因はないでしょうか。 質問2:Windowsの場合、mySQLはサービスとして起動しているのでオプションをどのようにつければいいのかわかりません。 質問3:PHPのバージョンが上がるにつれ、この問題は解決するのかもしれませんが、現段階でPHP側で解決する手段はないのでしょうか。 ちなみにコマンドラインから c:\>c:\mysql\bin\mysqlshow Access denied for 'ODBC'@'localhost'(using password:NO) となります。 コマンドラインからはログインでき、テーブルなどの作成は済んでいます。 よろしくお願いします。

    • ベストアンサー
    • MySQL