電子書籍の厳選無料作品が豊富!

PHP、Mysql初心者です。
何かWEBページの作品を作ろうと、データベースを使ってます。
ごくごく定番のPHPからデータベースの内容を書き出すことをしているのですが、

Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\renshu\ken.php on line 10

というエラーコードが出ました。私のテキストエディタでの9~11行目はこちらです。ちなみにApache2とMysql5です。

<?php
mysql_connect('localhost','root','パスワード');
mysql_select_db('データベース名');

参考書通りにやっていまして、タイプミスはないはずなんですが…。ホスト名やユーザ名もあっているはずです。
どなたか教えてください。よろしくお願いいたします。

A 回答 (3件)

お疲れ様です。


もう一度
http://allabout.co.jp/internet/database/closeup/ …
の手順を確かめてください。
特にhttp://localhost/phpinfo.phpで表示される、「Configuration File
(php.ini) Path」の場所がどこになっているか、その場所にある「php.ini」
が正しく修正されているかを確認してみてください。
    • good
    • 0
この回答へのお礼

有難うございました。ついにデータベースつながりました。
noraさんがおっしゃるとおり、php.iniの場所がいけなかったようです。

私は c:\WINDOWS\system32に置いていました。
それをc:\WINDOWS\に移しただけでよかったのですね・・・。

これに約3日費やして本当に疲れました。
これでやっとプログラムの方に専念できます。
でもいい勉強になりました。ほんとうにありがとうございました。

お礼日時:2008/04/18 01:42

nora1962さんのご指摘のとおりですが、ちょっと補足。


PHPでは、基本的な関数群以外は、設定しないと使えません。
MySQLを使わない人が、MySQL用の関数を持っていても、意味がないからです。

メッセージの意味は、「そんな関数ないよ」ですね。

Windowsでしたら、nora1962さんのご指摘のURLのようにすればいいでしょう。

Linuxで、ソースコードからのインストールでしたら、configの時に、--with-mysql オプションをつけます。

後、PHP5を使っているなら、PDOを使ったほうが、プログラムがすっきりしますよ。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
あれから何度もnoraさん表記のURL通りのやり方で試してみましたがやはり駄目でした。

php.ini内の
;extension=php_mysql.dllはセミコロンを外したし、
extension_dir = "c:\php\ext\"はこのとおりです。php_mysql.dllはちゃんとc:\php\ext\の中にあります。
libmysql.dllをWindowsディレクトリ(c:\windows\system32)にコピーしました。
もちろんApacheは再起動しました。そしてnoraさん指摘のとおりに「http://ホスト/phpinfo.php」でアドレスバーで写してみましたが、Mysqlが表記されていませんでした。

もうわけがわかりません。

お礼日時:2008/04/17 22:10

php自体は動くんですよね?


まず

<?php
phpinfo();
?>
という内容のファイル(phpinfo.php)を作成して、apache2のhtdocsに
置き「http://ホスト名/phpinfo.php」をブラウザから指定して実行
させます。
そこの「Mysql」という情報がなければ、phpへのmysqlの設定がうまく
行っていない可能性が高いでしょう。
環境がwindowsなら下記のリンクなどが参考になるでしょう。

http://www.nishi2002.com/dwmx2004/006.htm
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!