[PHP-users 21096]Re: mysql_connect関数が動作していない?

Sumito_Oda oda @ bst.jp
2004年 4月 1日 (木) 17:45:09 JST


こんにちは、織田です。

>	mysql_connect()は、デフォルトでphpの組みこみ関数ではないのでしょ
>うか?

"組み込み"の意味にもよりますが、拡張(エクステンション)の
関数であり、どんな環境でも定義済みで使えるかという点では
「そうではない」です。

>	phpを使う上で常識が抜けていないのでしょうか?宜しくお願いします。

件のエラーメッセージを見て、またかと思われる方が沢山おられるぐらい
PHPとDBMSの組み合わせで良く見られるケースではありますが、
常識という程ではないと思います。同じエラーでも原因は色々ありますしね。

以下、PHPに限らずコンピュータを使ってプログラミングにまつわる
作業をする上で常識とした方が良いことと、何点かの気になること。

>	fatal error:Call to undifined function :mysql_connect() in
> /home/www/html/touroku.php on line 5

typoが多いことを考えると手で打ち直してるみたいですが、
OSの機能を利用してコピー&ペーストしないと駄目です。
人が読むだけなら類推できる間違いは補正できますが、
メッセージ関係は検索ワードとしてそのまま利用することが
多いため厳密さが求められます。また新しい情報
(今回はエラーメッセージ)が得られたら、
それを使って自分で解決の糸口を逐次探していく
ようにしないと、解決力が身に付きませんよ。

PHP MLアーカイブ検索
http://ns1.php.gr.jp/search.html
TurboLinux MLアーカイブ
http://dev.turbolinux.co.jp/archive/ml/

検索ワードとして使う場合は、バージョン等の違いにより
メッセージは完全に一致するわけではないので、
色々と調整して検索します。

東> php-4.1.2-4
東> php-mysql-4.2.3-7

・依存関係があるもので、違うバージョンの混在は良くない。
・少なくとも公開されているセキュアなものを使った方が良い。
http://www.turbolinux.co.jp/security/php-4.1.2-14.html
http://www.turbolinux.co.jp/security/TLSA-2003-47j.txt

ついでに下のスレッドはPostgreSQLの話ですが、
MySQLの場合でも当てはまる筈です。
http://ml.postgresql.jp/pipermail/pgsql-jp/2002-July/001976.html
# 直接は関係ない話も混じっています

あとは自分で調べて解決してしまうかも知れませんが、
解決した場合は軽くサマリ(原因と解決の内容)を投稿してください。
未来の他の人、忘れっぽい自分にも財産になります。
また、駄目な時は
「(こう思って)このようにやってみたが、こんな風に駄目だった」
と再度投稿して、解決の糸口を求めてください。

-- 
Sumito_Oda mailto:oda @ bst.jp


PHP-users メーリングリストの案内