- 締切済み
PHPにてMySQLとの接続をオープンできない。
環境 OS:winXP SP2 HE(localhost) Apache 2.0.52 MySQL 5.0.2 PHP 5.0.3 Apache,MySQL起動しています。 自動起動なのでMySQLのタスクトレイの表示はありませんがMySQLCommandLineClientでログインできますし、SQL文も通ります。 データベースは用意してあります。 必要な設定は済んでいると考えています。 [httpd.conf,my.ini] PHPコードだけのスクリプトは動きます。 ファイルはApache2\htdocs\に入れて、ブラウザで呼び出しています。 要点 PHPスクリプトからMySQLとの接続をオープンできないようです。 何が悪いのかご意見ご教授頂ければ幸いです。 サンプル 以下のように単純に接続するphpファイルを作成しましたがブラウザは真っ白になったままです。 <?php $dbserver = "localhost"; $dbuser="root"; $dbpassword="パスワード"; $con = mysql_connect($dbserver,$dbuser,$dbpassword); if($con){print"OK!"; }else{print"NO!";} ?>
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- Sugichi28
- ベストアンサー率75% (3/4)
私もそこまで詳しいわけではありませんが、文字コードってのが問題になってることも結構多いです。ちゃんとMySQLの文字コードとPHPファイル側の文字コードは一致していますか?ここがずれるとエラーになる可能性があります。確認してみてください。 MySQLの文字コードの確認はstatusコマンドでできますし、5.0なら、MySQL Server Instance Config Wizardで文字コードの変更も可能です。試してみてください。
- wipe
- ベストアンサー率52% (37/71)
失礼します。 phpMyAdminなどのGUIツールでMySQL接続の確認をしてみてはどうでしょうか? 原因がMySQL側にあるのか、そのほかにあるのか確認できると、解決できると思います。
- wasin55
- ベストアンサー率0% (0/0)
PHPのmysql拡張モジュールは、mysql4.1以降には対応していないので、改良版のmysqliモジュールを使用するとうまく接続できます。 私も以前に同じことで悩んでいたので、おそらくこれで解決できると思います。 詳しくはPHPマニュアルを参考にしてください。
- wipe
- ベストアンサー率52% (37/71)
$con = mysql_connect($dbserver,$dbuser,$dbpassword); の前後にprint文を追加したらどうなりますか?
- wipe
- ベストアンサー率52% (37/71)
失礼します。 ブラウザが真っ白になったままの状態がおかしいと思います。 MySQLの問題ではなくPHPやHTMLタグなどブラウザの問題だと思われます。 サンプルを次のようにすると、OKと表示しますか? <?php $con = 1; if($con){print"OK!"; }else{print"NO!";} ?> 表示されないようでしたら、下のソースの<BODY>と</BODY>の間にサンプルを書いて試してみてはどうでしょうか? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>無題ドキュメント</title> </head> <body> </body> </html> 参考になれば幸いです。
- 39jin
- ベストアンサー率34% (125/359)
前の質問も見ています サンプルコードが自分の参考書と同じなので、確認してみました。参考書通りで全て動作しています。 APACHE HTTP Server 2.0.45 PHP 4.3.2 MySQL 4.0.14 c:\mysqlにインストールされている ↑ここが違っていますね・・ 他のマシンから見に行く場合 http://<フルコンピュータ名>/ 判版によって違いもあるようですので参考まで
補足
MySQLは4系列以前はUNIX系列優位の設定ですからcの直下にデフォルトフォルダがありますが、5からはWinにあわせてデフォルトが変更されています。 またフォルダの違いによる各設定ファイルの修正は既に済んでいます。 ローカルであるというのは質問文に書いています。 他のマシンから見るとは想定していません。 動いていない時点で関係有りませんけれども…。
補足
PHPは動く上での質問です。