私は本当に奇妙な問題を抱えています。本当に私を悩まし始めています。これは、接続のさまざまな動作についてです。私はちょうどCakePHPを設定しようとしていますが、PDOはmysqlサーバに接続できません。PDOは接続できませんが、mysql_connect(PWなし)
Okey、ステップバイステップ:新鮮なコンピュータで、XAMPP(Win7)をインストールしてCakePHPをダウンロードしました。他に何もしなかった。 phpMyAdminで、私はPW 'test'でユーザー 'test'を作成し、データベース 'test'を所有しています。シンプル、そう?ここで
、phpMysqlAdminにおけるユーザー/権利テーブルの行:
User Host Password Global Rights GRANT
test % Yes USAGE No
今、本当の問題へ:この作品
:
$link = mysql_connect('localhost', 'test'); //<- not using the 3. parameter, 'password'
をしかし、何が動作するはずです、doesnt:
$link = mysql_connect('localhost', 'test', 'test'); //<- using the 3. parameter, 'password'
そして、私は「を使用してパスワード:YES」「削除」するように見えるカント以来、PDOのために、私はPDOのいずれかに接続カント(ケーキはPDOのを使用します):
$dbh = new PDO('mysql:host=localhost;dbname=test', 'test', 'test');
エラーメッセージ:
エラー!:SQLSTATE [28000] [1045]アクセス(パスワードを使用して:YES)、 'localhost' の@ユーザー '試験' のために拒否された、私がちょうど新しくインストールしたDBに接続したいので、複雑になるカント
正しい資格情報で私は間違って何をしていますか?私は多くの似たような質問を読んだが、自分自身の問題の解決策を見つけられなかった。
はい、パスワードは本当に 'テスト'です - 私はなぜmysql_connect()whitout PWが接続できるのかわかりません - デフォルトでPWとしてユーザ名を使用していますか?
これは本当に助けのためのハード
おかげで、 はあなたに素敵な一日を願っていることもカント。ここで
EDIT(質問への答え)
(ユーザーで:テスト):DB権のエントリ - ユーザーが本当に
Database Rights GRANT
test ALL PRIVILEGES Nein
datebaseテストでユーザーテストを許可しましたが、user.Pleaseをテストするためのアクセス許可を与えていないようです。 –
空の文字列をパスワードとして渡すのはどうですか? – kuba
私はphpMyAdmin上で自動的にDB 'テスト'を作成しました:「同じ名前のDBを作成して権利を付与する」というような選択肢があります(私は自分の投稿を編集しました。 。 - はい、空の文字列を試しました。問題は実際には「パスワードを使用する:YES」と思われます。「いいえ」とすぐに問題ありません。しかし、PDOは常にその設定をアクティブにしているようです。 – Katai