- 締切済み
PHPとデータベースの接続ができません
開発環境はXamppで、OSはWindowsです。 データベースを使いたいと考えていますが、初心者で非常に困っています。 <?php $dsn = 'mysql:dbname=testdb1; host=127.0.0.1'; $usr = 'ユーザー名'; $passwd = 'パスワード'; try { $db = new PDO($dsn, $usr, $passwd); print '接続に成功しました'; $db = NULL; } catch (PDOException $e) { die("接続エラー:{$e->getMessage()}"); } 上記のファイル、connect.phpを実行しても、 Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\connect.php on line 3 と表示されてしまいます。 構文エラーだと思い、自分で出来る限りなおしたのですが解決できません。 どなたかアドバイスよろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- bin-chan
- ベストアンサー率33% (1403/4213)
#1です。やっぱりMySQL.EXEへのパスが通ってないことが原因と思います。 以下、XAMPPをC:\直下にインストールしたものと仮定します。(C:\XAMPP\) MySQは、C:\XAMPP\MySQL以下に、MySQL.EXEはC:\XAMPP\MySQL\binにあるもとします。 1)環境変数PATHを確認してください。 コマンドプロンプトで PATH と入力して [Enter]を押下してください。 (このPATHにはC:\XAMPP\MySQL\binは含まれてないはず。) 2)環境変数PATHにC:\XAMPP\MySQL\binを追加してください。 マイコンピュータのプロパティ>詳細設定の環境変数ボタンをクリック。 3)ソステム環境変数をスクロールしてPathを探し、クリックしてから編集ボタンをクリックする。 4)末尾に ;C:\XAMPP\MySQL\bin を追加し、OKボタンをクリックする。 5)OKボタンをクリックする。 6)もう一回、OKボタンをクリックする。 これでコマンドプロンプトで MySQLが実行できるはず。 ソースに記述してある ユーザー名/パスワードでログインしてください。 PHP入門のWebページ探す際、「XAMPP MySQL 設定」で上記の記載があるはずです。
- bin-chan
- ベストアンサー率33% (1403/4213)
#1です。コマンドプロンプトで動かせないのはわかりました。 「phpAdminでなら動く」のか、「何も動作確認してません」なのか。 MySQL自体が動作していないのであれば、いくらPHPソースを変更してもダメ。 ApacheとMySQLがそれぞれ正常に動作するか、確認してから「PHPとデータベースの接続」ですよ。 XAMPPをインストールなさったときは、何かを参考にして行ってますか?(書籍かWebページか) Webページ検索でキーワード「XAMPP 使い方」で探すこともできます。 あちこち飛ばずに、どこかのWebページ(なるべく最新)の手順で進める方が良いと思います。
- bin-chan
- ベストアンサー率33% (1403/4213)
> $usr = 'ユーザー名'; > $passwd = 'パスワード'; PHPソースに実際に上記のような表現をしているのですか? それとも「具体的な値を書くのを避けて」上記のような表現なんでしょうか? PHPを介さないで、コマンドプロンプトからMySQLにログインできますか?
お礼
回答ありがとうございます。 ユーザー名とパスワードは具体的に書くのを避けて表現しています。 コマンドプロンプトからMySQLにログインすることができません。 'mysql'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。 と表示されてしまいます。
お礼
再びの回答ありがとうございます。 phpAdminでならログインできますし、データベースを作成することもできます。 ApacheもMySQLもコントロールパネルで「Running」と表示されます。 XAMPPをインストールした時は書籍を参考にしました。 WEBページも参考にしてみようと思います。