みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

PHPとMYQSLの連携がうまくいきません。

PHPとMYQSLの連携がうまくいきません。

mysqlへのコネクションコマンド 

mysql_connect($db_host,$db_username,$db_password);

実行すると、
Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\now_month.php on line 51

というのが出ます。

環境は
OS :WINDOWS_VISTA
WWW:apache2.2
PHP:PHP5.2.13(ZIP)
DB :MYSQL5.1.47

通常のPHPの動作はできています。
mysqlとの連携だけがうまくいきません。

phpinfo()による表示ではMYSQLのヘッダは出てきません。

php.iniのフォルダはc:/phpで、
抜粋でコピペすると
extension_dir = "c:/php/ext"
extension=php_mysql.dll (コメント外し)
基本的にはこれだけでいいはずなんですが....自信なくなりました。

関係ないかもしれないですが、
php.ini内の文字コードを書籍参照しながら少しいじってあります。

また、mysqlインストール時のウィザードで
文字コード「cp932」(SJISの事らしいです。)を選択しました。

当然色々自分で調べてみましたが、
同じような症状、解決策等を見つけては試し、それでも解決しないためギブアップ気味です。
書いてあることも様々だったので、どれが正しいんだか分りません。

フォルダ配置関連で試したのは、

libmysql.dll → c:/windowsまたはその配下system32 もしくはapache内のbinにコピー

php.ini → c:/windows にも配置

phpフォルダ配下のphp5ts.dllと「php*.dll」を除くすべてのdllファイルをsystem32にコピー

おもに参考にした書籍
「10日で覚えるPHP5入門教室」
「PHP5.0+MySQL5.0で構築する最速WEBシステム」
「初めてのPHP&MySQL」


この作業だけで何時間も費やしてしまい、心が折れそうです。

足りない情報があれば追記しますので
どうかご教授ください。

投稿日時 - 2010-06-08 02:11:36

QNo.5952877

困ってます

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

ダブルクオートの閉じ忘れでしょう。
「doc_root」の設定値を確認してみてください。

セッション関係の設定項目付近まで、全て「doc_root」の設定値と解釈されてしまい、この間に記述されている設定項目が無視されてしまったようです。

しかし、アドレスを踏ませる行為は、本人に悪気が無くともあまりよい方法とは言えません。
当方はお人好しですからついつい踏んでしまいましたが、こういうやり方はもうしないでくださいね。

スクリーンショットを撮り、個人的な情報にモザイクをするなりして添付するなど、方法はあると思います。

最後に、「doc_root」の設定はご自身の環境において本当に必要かどうかもご検討ください。

参考URL:http://www.php.net/manual/ja/ini.core.php#ini.doc-root

投稿日時 - 2010-06-09 10:23:57

お礼

解決できました!本当にありがとうございます!

アドレスを踏ませるのは良くないとうすうす知っていましたが
解決まで導いていただいた上に
ご心配まで掛けてしまい、大変申し訳ありませんでした。

ですがすごいです。
かなり初歩的なミスでがっくりきましたが、
私はいくらやっても気づかなかったです。

本当にありがとうございました!

投稿日時 - 2010-06-09 13:31:53

ANo.3

このQ&Aは役に立ちましたか?

11人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

設定ファイルは間違いなく読み込まれているということであれば、拡張モジュールのディレクトリを指定するとき、バックスラッシュ(円マーク)を使うようにしてみてください。

extension_dir = "c:\php\ext"

この変更を加えた後、ブラウザを通して確認する場合はウェブサーバの再起動をし、コマンドラインから確認する場合は「php -i」と入力してください。

投稿日時 - 2010-06-08 17:01:29

補足

度々ありがとうございます。

今は職場なのでphpinfoは自宅サーバーにアクセスして確認できるものの、
iniの書き換えは帰ってからでないとできません。

自宅に帰ったら早速やってみますが、
帰宅は夜中になる可能性が大です(泣)

時間かかって申し訳ないですが、結果を待って頂いて、
またご教授お願いします。

投稿日時 - 2010-06-08 17:38:29

お礼

php.iniを
extension_dir = "c:¥php¥ext"

にしてapache再起動してみましたが駄目でした。

もしよかったら、直接phpinfo() 見ていただけますでしょうか。
http://www.vakimama.jp/

投稿日時 - 2010-06-09 02:45:11

ANo.1

PHP は設定ファイルが存在しない場合でも、既定の設定値により動作するようです。
設定内容が反映されないようですから、もしかしたら設定ファイル自体が読み込まれてないのかもしれません。

「phpinfo()」の実行結果にある「Loaded Configuration File」の項目が「(none)」となっているようなら、既定の設定値による動作です。

設定ファイルが確実に読み込まれているか、まずはこのあたりの情報をご提示ください。

投稿日時 - 2010-06-08 11:00:50

補足

ご回答ありがとうございます。

phpinfo()の結果ですが、
Loaded ConfigurationFile  ⇒ C:\php\php.ini

と書いてあります。

その上段
ConfigurationFile(php.ini)Path ⇒ C:\Windows
これは関係ないでしょうか。

また必要な情報あれば追記します。

投稿日時 - 2010-06-08 15:10:16

あなたにオススメの質問