• ベストアンサー
  • 困ってます

データベースに接続できない・・・。

こんにちは。 PHPとmysqlでデータベースを作ろうと思っています。 mysqlサーバーに今回使うAテーブルだけを使用できる権限でuesrを作りました。 PHPから接続するのに if(!$con = mysql_connect("localhost", "user", "test")){ die("データベース接続エラー.<br />"); } mysql_select_db("A","$con"); というスクリプトを書いたら Warning: Access denied for user: 'user@localhost' (Using password: YES) in /usr/local/asuka/virtual/B3X000804/files/htdocs_russ.jp/shopping/shop_kanri/knri_menyu.php on line 11 Warning: MySQL Connection Failed: Access denied for user: 'user@localhost' (Using password: YES) in /usr/local/asuka/virtual/B3X000804/files/htdocs_russ.jp/shopping/shop_kanri/knri_menyu.php on line 11 データベース接続エラー. というエラーが表示されデータベースに接続できません。 何故でしょうか?どうにか接続する方法はありませんか? もしくはroot権限を持たさないと接続できないのでしょうか?あいまいな質問で申し訳ございませんが、よろしくお願いします。

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

  • PHP
  • 回答数5
  • 閲覧数471
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.4
  • siwa32
  • ベストアンサー率60% (9/15)

>としたらエラーがでなくなりましたが、 Warningがでなくなったということでしょうか。 だとすると >if(!$kon){ >die("データベース接続エラー.<br />"); >} で値が代入されていないであろう$konが評価されていますので ifブロック内に突入してしまっているだけでは無いでしょうか yusuke2005さんも仰っているようにタイプミスが原因のような気がします。

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

質問者からのお礼

ありがとうございます。 ご指摘を頂いたので注意をしてユーザーとパスワードを振りなおしました。 PHPより接続しなおすとやっぱりデータベース接続エラーというエラーを返します。 if文でデータベースの接続に失敗するとこのエラーを返すようにしているので、やはりデータベースに接続ができていないみたいです。何か他に考えられそうな原因はありますか?すみませんが、よろしくお願いします。

その他の回答 (4)

  • 回答No.5
  • siwa32
  • ベストアンサー率60% (9/15)

>ご指摘を頂いたので注意をしてユーザーとパスワードを振りなおしました。 >if(!$kon){ は修正しましたか? >Warningがでなくなったということでしょうか。 と言う質問に対する回答は? 吐き出されるエラー、警告は一字一句正確に提示してください

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

  • 回答No.3

amountainblastさんはタイプミスが多いですね。 >$con = mysql_connect("localhost", "user", "test") >if(!$kon){ $konではなく$conですよね? >Aテーブルだけを使用できる権限でuesrを作りました。 >if(!$con = mysql_connect("localhost", "user", "test")){ ユーザー名が違いますよ? パスワードもtestであってますか? 最初に作った時点でタイプミスしてませんか? 恐らくタイプミスが原因だと思いますが。。

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

質問者からのお礼

ありがとうございます。 ご指摘を頂いたので注意をしてユーザーとパスワードを振りなおしました。 PHPより接続しなおすとやっぱりデータベース接続エラーというエラーを返します。 if文でデータベースの接続に失敗するとこのエラーを返すようにしているので、やはりデータベースに接続ができていないみたいです。何か他に考えられそうな原因はありますか?すみませんが、よろしくお願いします。

  • 回答No.2
  • siwa32
  • ベストアンサー率60% (9/15)

ユーザ追加がうまくいってないのではないでしょうか。 mysql>grant all privileges on A.* to user@localhost identified by 'test' with grant option; mysql>flush privileges; などでユーザ追加しても駄目ですか。

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

質問者からのお礼

ありがとうございます。 ご指摘の通りにしましたが、ダメでした。 ログインの仕方を $con = mysql_connect("localhost", "user", "test") if(!$kon){ die("データベース接続エラー.<br />"); } mysql_select_db("A","$con"); としたらエラーがでなくなりましたが、 データベースに接続できません。 mysqlのユーザーの権限には (elect,insert,delete,update,create,drop,alter,index)の権限を持たせているのですが、これだとダメなのでしょうか? root権限でmysql_connectしたら正常につながります。 すみませんが、もう少しご教授をお願いします。

  • 回答No.1

UNIX系なら、「("localhost", "user", "test")」の箇所を以下のようにしてみてください。 (\"localhost"\, \"user"\, \"test"\)

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

質問者からのお礼

ありがとうございます。 ご指摘の通りにしましたが、ダメでした。 ログインの仕方を $con = mysql_connect("localhost", "user", "test") if(!$kon){ die("データベース接続エラー.<br />"); } mysql_select_db("A","$con"); としたらエラーがでなくなりましたが、 データベースに接続できません。 mysqlのユーザーの権限には (elect,insert,delete,update,create,drop,alter,index)の権限を持たせているのですが、これだとダメなのでしょうか? root権限でmysql_connectしたら正常につながります。 すみませんが、もう少しご教授をお願いします。

関連するQ&A

  • JSPでデータベース接続

    JSPを使用してMySQLデータベースに接続しようとしていますが java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)とエラーが出て 接続ができません。 そこで質問なのですが、上記のエラーは何が原因なのでしょうか。MySQLなのかJSPなのか、エラーの原因がわかりません。どなたか原因を教えていただけないでしょうか。お願いします。

    • ベストアンサー
    • Java
  • MySQLの接続について教えてください。

    こんにちわ。初心者です。MySQL5 の接続を php5、Apache2、windowsXP を使用して接続したいのですが、 できず困っております。Apacheとphpの相互の設定はできています。セキュリティソフトは念のため止めました。 phpとMySQLの設定がどこかが違うのではないかと思うのですが、 良くわからないのでどなたかアドバイスを宜しくお願いします。 <?php $host=\"aaa\";$name=\"ccc\";$pass=\"ddd\"; $con = mysql_connect($host,$name,$pass); if($con !== false){echo\"ok\";}else{echo\"falsess\";}?> という文をアパッチで表示させると、 Warning: mysql_connect() [function.mysql-connect]: Access denied for user \'ccc\'@\'localhost\' (using password: YES) in C:\\Program Files\\Apache Group\\Apache2\\htdocs\\php\\lesson.php on line 2 falsess

    • 締切済み
    • PHP
  • Mysqlに入れません

    PHPのパッケージxamppでMySQL 5.0.51aをインストールしています。 しかしどうあがいてもMySQLに入れません。 C:\xampp\mysql\bin>mysql ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO) C:\xampp\mysql\bin>mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) C:\xampp\mysql\bin>mysql -u root -p root Enter password: **** ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 教えてください。お願いいたします。

    • ベストアンサー
    • MySQL
  • PDOでのデータベース接続について質問です

    現在、PDOでのmysqlデータベースの操作を学習しています。 以前、mysql_connectでのデータベース接続を学習していた際に、 使用したいデータベースの名前を変数名$dbnameに格納し、 $connect = mysql_connect($server, $user, $password); mysql_select_db($dbname); でデータベースに接続していました。 その要領をふまえて PDOでもデータベースの名前を変数名$dbnameに格納し、 $db = new PDO('mysql:host=localhost;dbname=$dbname',$user,$password); で接続しようと試みたところ、エラーになりました。 そこで、データベース名を変数に格納せず、 $db = new PDO('mysql:host=localhost;dbname=データベース名',$user,$password); で試してみたところ、接続が出来ました。 そこで質問なのですが、PDOでデータベースに接続する場合、 データベース名を変数に格納することは物理的に出来ないのでしょうか? それともうひとつ質問があります。 mysql_connectを使用したときはデータベース接続用のPHPファイルを作成し、 データベース接続が必要なPHPファイルの時にrequire_onceでデータベース接続用のPHPファイルを呼び出ししていましたが、PDOでもデータベース接続用のPHPファイルを呼び出して接続することは可能でしょうか? 絶対に変数に格納したいとか、絶対にデータベース接続を別ファイルにしたいというわけではありませんが、もともとmysql apiで学習していたためmysql apiとPDOの違いが少し気になってしまいました。 ご回答、よろしくお願いします。

    • ベストアンサー
    • PHP
  • 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に接続できない

    www.example.com の mysql コマンドで db.example.com の MySQL へ接続したいのですが、 # mysql -uuser@db.example.com -p Enter password: ERROR 1045: Access denied for user: 'user@db.example.com@localhost' (Using pa ssword: YES) と、localhost に接続してしまいます。 PHP で db.example.com に接続しようとしても localhost を見に行ってしまっているようです。 アドバイスをお願いいたします。

  • lolipopでのmysql接続について

    現在lolipopでPHPを使いMySQLに接続しようとしています。 外部サーバからlolipopのmysqlに接続できないことは承知していまして、lolipopのサーバにphpファイルを置いているのですが、うまくいきません。 phpMyAdminを使ってデータベース作成し、接続、クエリの実行も問題ありません。 ホスト名:mysql570.phy.lolipop.jp(210.157.9.95) MySQLユーザ:LAA022**** パスワード:**** データベース名:LAA022****-test mysql_connect(’mysql570.phy.lolipop.jp’,’LAA022****’,’****’)でphpからの接続を試しているのですが、以下のエラーになります。 Access denied for user 'LAA022****'@'210.172.144.218' (using password: YES) mysql570.phy.lolipop.jp(210.157.9.95)に接続しようとしてるのに210.172.144.218 で返ってきてしまいます。 直接210.157.9.95を指定しても210.172.144.218が返ってきてしまいます。 よってユーザがないのでAccess deniedになっていると思うのですが、何か考えられる原因はありますでしょうか? アドバイス頂けると助かります。 宜しくお願い致します。

    • 締切済み
    • PHP
  • サーバに接続できない

    どうもこんにちは MySQLを使用してWindowsXPでデータベースを構築しようとしています。 MySQLをインストールし、「MySQL Server Instance Configuration Wizard」で設定を行おうとしたら、最後の「Apply security settings」で以下のエラーが出ました。 「ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)」 その後も何度か操作を行いましたが、エラーが発生し先へ進みません。 設定を完了するにはどうしたらいいのでしょうか? 以下に他の状況を示します。 ・コマンドプロンプトで mysql -u root と入力すると、「ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)」のエラーが発生する。 ・コマンドプロンプトで telnet localhost 3306 と入力すると、メッセージが表示される。

    • ベストアンサー
    • MySQL
  • dbに接続できません

    【dotproject】というオープンソースのグループウェアをインストールしようと思ったのですが、インストール途中で下記エラーが出て進めません。sqlをいじったことがないので、助言をお願いいたします。 Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'dot_user'@'localhost' (using password: YES) in C:\Program Files\xampp\htdocs\dotproject\lib\adodb\drivers\adodb-mysql.inc.php on line 354 下記は実際のadodb-mysql.inc.phpのline354付近のコードです。 $thisから始まるのが354です。 if (ADODB_PHPVER >= 0x4300) $this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword, $this->forceNewConnect,$this->clientFlags); 必要要件が足りないかもしれませんが、その際はお申し付け下さい。 よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • railsでのデータベースエラー

    Ruby on rails を最近はじめました! MySQLをDBとしたところ、 Action Controllerでエラーが発生してしまいました! #28000Access denied for user 'root'@'localhost' (using password: NO) とはどういうことなのでしょうか?? アドバイスよろしくお願いします!! ※WindowsVista + MySQL + rails