![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
PHP4.4.1+MySQL4.1.18の環境でMySQLに接続したいのですが、
接続できず困っています。
表示された内容
=============================================
Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in /Library/WebServer/Documents/ken1.php on line 8
私なりに検索サイトなどで調べた結果、
http://dev.mysql.com/doc/refman/4.1/ja/old-clien …
にたどりつきましたが、
mysql> UPDATE user SET Password = OLD_PASSWORD('mypass')
-> WHERE Host = 'some_host' AND User = 'some_user';
のコマンドがエラーで帰ってきます。
エラー内容
=============================================
ERROR 1046 (3D000): No database selected
PCの環境
Mac OSX 10.3.9
PHP4.4.1
MySQL4.1.18
以上です。
初心者で申し訳ありませんが、
どなたか教えて下さい。
No.2ベストアンサー
- 回答日時:
>ERROR 1046 (3D000): No database selected
普通のMySQLのエラーです。
まず、DBを指定してください。
(たとえば、testdb という名前のデータベースが
あれば)
mysql>USE testdb;
としてから、UPDATEなり、SELECTなり、かましてください。
蛇足ですが、SQLは、大文字・小文字をごちゃ混ぜにしないで、構文は大文字、テーブル名などのオブジェクトは小文字といったように統一したほうがトラブル少なく済みます。
>Fatal error: Call to undefined function mysql_connect()
PHPが、mysql_connect()というなんて関数は知らないと怒っています。
PHP5になってからは、MYSQLとの接続関数として、mysqli (iがつく) がデフォルトで、mysql はそのままでは使えません。mysql_connect()などのmysql 関数は、php.iniで有効にする必要があります。
(また、PHPから、mysqlのライブラリがきちんと見えているかどうかもチェックする必要があります。)
以前は、PHPそのものにmysql用のコネクタがおまけにくっついていたのですが、ライセンス上の問題(MySQLはGPL!)から分離してしまったので、利用者がわざわざMySQLのコネクタをくっつけてあげないといけなくなりました。
MySQL4.1 は、文字コードなどでかなり難航すると思いますが、サブクエリも使えたり、文字コードがテーブルごとに変えられたりと、魅力的な機能もあり、苦労して取り組む価値は十分にあります。
この回答への補足
ご回答ありがとうございます。
php.iniに以下の定義を追加しました
mysql.default_socket = /tmp/mysql.sock
(デフォルトでは"mysql.default_socket ="のみ)
がしかし、PHPの動作チェックをしたところ
Fatal error: Call to undefined function mysql_connect()
と表示されMySQLに接続できません。
>PHPから、mysqlのライブラリがきちんと見えているかどうかもチェックする必要があります
これって、どこで確認できますか?
おそらくphp.infoだと思うのですが。
MySQLに接続するために
モジュール等をインストールする必要や
さらなるphp.iniの改訂の必要があるのでしょうか。
ちなみにmysql.sockがある事は確認しました。
的外れな事を書いてしまっているかもしれませんが、
引き続き、ご協力ください。
宜しくお願いいたします。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_06.png?8acaa2e)
No.4
- 回答日時:
たまたま通りかかったものですが、
こちらのサイトは役に立ちませんか?
解決は9日にしたそうですが・・・・
参考URL:http://mrs.suzu841.com/sfs4_diary/sfs4_diary.cgi …
No.3
- 回答日時:
MacOSは、よく知らないのですが、
PHP5 のインストールは、ソース(tar.gzとかtar.bz2)からのインストールでしょうか。
インストールの
./configure のときに、
--without-mysqli --with-mysql=<MySQLのありか>
と設定する必要があります。
つまり、
mysqli (iがつく) を無効にし、
mysql を有効にする必要があります。
繰り返しになりますが、mysql_connect()は、
mysqli関数(iがつく)ではなく、
mysql関数だからです。
現在のconfigureの内容は、phpinfo()で確認できます。
また、ページを下にスクロールすると、mysqlの太字の文字。その下に設定欄があり、MYSQLのクライアントバージョンなどが表示されます。
No.1
- 回答日時:
PHP4.4.1に付属しているMySQL用のextentionがMySQL4.1に対応していない、というか正しい環境でコンパイルされていないのです。
PHPを5にあげるか、MySQLを3.2に戻すのが早道です。私もxoopsのセットアップ時にWindowsのMySQL4.1のマシンを選んでしまって地獄を見ましたが、結局解決できずそのマシンのMySQLを3.2にダウングレードしています。
この回答への補足
ご回答ありがとうございます。
早速PHPのヴァージョンを5.1.2に上げ同じファイルの動作をチェックしたところ、
Fatal error: Call to undefined function mysql_connect()
というエラーが表示されました。
ううう。どうすればいいんでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
副問合せにLIKE文を使う方法は...
-
MYSQLが起動しません。
-
RPMのmysqlとmysql-serverの違い
-
接続ができません
-
VBAで変数内に保持された二次配...
-
SQLのVARCHARとVARCHAR2の違い
-
ERROR 1045 (28000) (using pas...
-
like句を使って日本語を検索す...
-
SQL開発環境ソフトウェアである...
-
MySQLのテーブル作成でハイフン...
-
MySQLカラム名は日本語と英数字...
-
ユーザの権限及びユーザの削除...
-
postgreSQLのデータ型
-
ODP.NETのバージョン確認
-
実行時エラー80004005
-
MYSQLで、ファイルを格納する方...
-
cseデータ閲覧時に文字化け
-
for($i=1; $i<hoge; $i++)
-
設定が更新されない
-
FORMからPHP処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
副問合せにLIKE文を使う方法は...
-
RPMのmysqlとmysql-serverの違い
-
MySQL のコマンドが実行出来ま...
-
c言語でMySQLを利用するときの...
-
よくわかるPHPの教科書で勉強中...
-
MySQLで複数のマスターの受けは...
-
MAMPでMySQLのパスが通らない
-
mysqlの->とはどういう意味です...
-
データベースについて
-
P.262 ---------- |ストアード...
-
Movable type【ブログ】の設置...
-
MySQLの地理情報の取り扱いにつ...
-
OSXでMySQL、root権限で立ち上...
-
TYPE=InnoDB
-
WindowsXP x64で使える MySQLの...
-
psqlでいう Ctrl+C
-
MySQLでAutoCommitをfalseにする
-
かねやんMySqlをつかってサーバ...
-
ダンプデータのファイル名にア...
-
PHP4.4.1+MySQL4.1.18 接続エラー
おすすめ情報