PHPでデータベース接続を行いたいのですが、うまくいきません。

Fatal error: Call to undefined function mysql_connect() in
というエラーが出ます。
<バージョン>
PHP5.0.1
Apache2.0.5
MySQL4.0.2

http.confの
「LoadModule php5_module c:/php/php5apache2.dll」記述、
php.iniの
「extension_dir = "c:/php/ext/"」
「extension=php_mysql.dll」(先頭の;を外した)記述、
は確認しました。
<?php phpinfo()?>は表示します。

何が問題でしょうか?アドバイスお願いします。

アドレスを載せて「これじゃないですか?」だけの回答はお控え願います。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/03/13 22:49:39
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント60pt

質問文から Windows をご利用と推測して回答します。


"C:\php\libmysql.dll" を "C:\windows\system32" にコピーしましたか? (Windows2000では C:\WinNT\system32)

id:Gakuen

ありがとうございます。

書き忘れてしまいました。OSはWindowsXPです。

libmysql.dllはsystem32フォルダにコピーしております。

2009/03/13 21:56:04
  • id:Gakuen
    C:/phpにPathも通っています。
  • id:fut573
    PHPのソースコード(ユーザー情報やDBの接続パスワードは消したもの)があると答えがつきやすいと思います。
    個人的経験からすると、
    1.DB_FETCHMODE_ASSOCなどの、MySQLのフィールド名を連想配列に代入する処理がある。
    2.SQL文の検索結果が0件。
    の両方が当てはまる時、undefined function系のエラーが出る場合が多いとと認識していますが、現時点では確証があるわけではありません。


  • id:Gakuen
    >fut573さん
    ソースコードは以下の通りです。

    <html>
    <head><title>簡易接続</title></head>
    <body>
    <?php
    $conn = mysql_connect("localhost","usr","passwd");
    mysql_select_db("kisop",$conn);
    $res = mysql_query("SHOW TABLES",$conn);
    if($res){
    print("データ獲得に成功しました。");
    }
    mysql_free_result($res);
    ?>
    </body>
    </html>

    入門書の通りのソースを打ち込んでいます。
    コマンドラインで「show tables」をやってみると、いくつかテーブルが出てきます。
  • id:bayan
    <?php phpinfo()?> の表示内容に mysql の項目はありますか?

    Loaded Configuration File の値はどうなっていますか?
    また、Loaded Configuration File の php.ini は、
    "「extension=php_mysql.dll」(先頭の;を外した)記述" を
    行った php.ini になっていますか?


    php.ini を変更したあとに Apache は再起動しましたか?
  • id:Gakuen
    >bayanさん
    system32にphp.iniを入れていました。
    ありがとうございます。解決いたしました。
  • id:bayan
    ポイント送信ありがとうございました。
    解決して何よりです。

    自分も最近、別のところにある php.ini が参照されていて、
    使えるはずの mysql 関数が使えずハマったことがあり、
    もしかしたらと思った次第です。



この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません