私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【PHP】PEAR Part3
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ☆
レスフィルター : (試験中)
PEARのMDB2+php4.4.7を利用してMySQL4.0.26(日本語に最適だと思って)に接続しています。
テーブルのカラム名にふんだんに日本語を利用しているのですが、
①php標準のmysql_field_name関数でカラム名を取得した場合
②PEAR::MDB2のarray_keys($inQueryResult->getColumnNames())にて取得
(カラム名の取得方法が分からないので苦肉の策;)した場合
①だと正確に日本語を取得できるのですが②だと一部(だから厄介)日本語が化けますし、大文字の英字が小文字になります。
例:ユーザID → ユーブid
パスワード → パベワード
レコード → レビード
分かる方いらっしゃいましたら回避方法をお教えいただけますでしょうか。
また、まだ使い始めなのですがPEAR::MDB2はこういう症状は多いのでしょうか?
テーブルのカラム名にふんだんに日本語を利用しているのですが、
①php標準のmysql_field_name関数でカラム名を取得した場合
②PEAR::MDB2のarray_keys($inQueryResult->getColumnNames())にて取得
(カラム名の取得方法が分からないので苦肉の策;)した場合
①だと正確に日本語を取得できるのですが②だと一部(だから厄介)日本語が化けますし、大文字の英字が小文字になります。
例:ユーザID → ユーブid
パスワード → パベワード
レコード → レビード
分かる方いらっしゃいましたら回避方法をお教えいただけますでしょうか。
また、まだ使い始めなのですがPEAR::MDB2はこういう症状は多いのでしょうか?
まず相談内容が文字化けしてる点ね。
パベワード
レビード
は、かわいいから許してやって。
パベワード
レビード
は、かわいいから許してやって。
> 分かる方いらっしゃいましたら回避方法をお教えいただけますでしょうか。
> また、まだ使い始めなのですがPEAR::MDB2はこういう症状は多いのでしょうか?
こんな事言ってるってことは、このデータベースをセットアップしたのは 51じゃないんじゃないか?
恐らくセットアップした本人がバックれて、尻拭いさせられてるんじゃw
> また、まだ使い始めなのですがPEAR::MDB2はこういう症状は多いのでしょうか?
こんな事言ってるってことは、このデータベースをセットアップしたのは 51じゃないんじゃないか?
恐らくセットアップした本人がバックれて、尻拭いさせられてるんじゃw
52-54さん
回答ありがとうございます。
DBですが、先輩の引退につき、まったく部署や開発チームは違ったんですが
私が引き継ぐことになったものです。
PEAR自体は私の独断で使ってみようかなと思った次第です。
あれからも色々と調べたのですが、文字化け以前に53さんのおっしゃる
TableInfo()すらCallできずundefined methodやfunction on a non-object
も回避できない状態でしたので、自分にはまだクラスまわりの勉強が不足
していると判断しました;
納期の関係もあるので現在上手くいっているphp標準関数で取り合えずは
処理し、しかし気になるのでPEARは個人的に気長に追いかけるとします。
そしてやっと今から個人的なPEARを追う時間です。
$mdb2->loadModule('Manager');でManagerのロードには成功し、
listTables()などをCallできるのですが
$mdb2->loadModule('Reverse');でReverseのロードに失敗しているのか
分かりませんがTableInfo()がundefined methodとなってしまいます。
Managerがロードできているので環境や設定ファイルは大丈夫だと思うの
ですが、また、ディレクトリやそれぞれのmysql.phpと中身のメソッドは
存在するのですが、何が原因かどなたか分かりますでしょうか。
回答ありがとうございます。
DBですが、先輩の引退につき、まったく部署や開発チームは違ったんですが
私が引き継ぐことになったものです。
PEAR自体は私の独断で使ってみようかなと思った次第です。
あれからも色々と調べたのですが、文字化け以前に53さんのおっしゃる
TableInfo()すらCallできずundefined methodやfunction on a non-object
も回避できない状態でしたので、自分にはまだクラスまわりの勉強が不足
していると判断しました;
納期の関係もあるので現在上手くいっているphp標準関数で取り合えずは
処理し、しかし気になるのでPEARは個人的に気長に追いかけるとします。
そしてやっと今から個人的なPEARを追う時間です。
$mdb2->loadModule('Manager');でManagerのロードには成功し、
listTables()などをCallできるのですが
$mdb2->loadModule('Reverse');でReverseのロードに失敗しているのか
分かりませんがTableInfo()がundefined methodとなってしまいます。
Managerがロードできているので環境や設定ファイルは大丈夫だと思うの
ですが、また、ディレクトリやそれぞれのmysql.phpと中身のメソッドは
存在するのですが、何が原因かどなたか分かりますでしょうか。
>>55
ManagerはロードできるのにReverseだけうまくいかないのかあ
とりあえずloadModuleは失敗してたらPEAR_Errorを返すから
$result = $mdb2->loadModule('Reverse');
if (PEAR::isError($result)) {
echo $result->getMessage();
exit();
}
してみてReverseのloadModuleが失敗してないか調べてみるとか
ManagerはロードできるのにReverseだけうまくいかないのかあ
とりあえずloadModuleは失敗してたらPEAR_Errorを返すから
$result = $mdb2->loadModule('Reverse');
if (PEAR::isError($result)) {
echo $result->getMessage();
exit();
}
してみてReverseのloadModuleが失敗してないか調べてみるとか
51=55です、55の補足です。
●Manager
$mdb2->loadModule('Manager');
$buff = $mdb2->manager->listTables();
var_dump($buff);
→成功(php4では「manager->」必須のようです
http://manual.jpnote.net/pear/package.database.mdb2.intro-manager-module.html)
「manager->」を除いた場合
buff = $mdb2->listTables();
→Call to undefined method: mdb2_driver_mysql->listtables() ・・・
●Reverse
$mdb2->loadModule('Reverse');
$buff = $mdb2->TableInfo();
var_dump($buff);
→Call to undefined method: mdb2_driver_mysql->tableinfo() in ・・・
「Reverse->」を足した場合
$buff = $mdb2->Reverse->TableInfo();
→Call to a member function on a non-object in ・・・
いまいちphpのエラー内容は解釈苦手なのですがReverseの2つのエラー
はどちらも解答に近づいていない気がします。
●Manager
$mdb2->loadModule('Manager');
$buff = $mdb2->manager->listTables();
var_dump($buff);
→成功(php4では「manager->」必須のようです
http://manual.jpnote.net/pear/package.database.mdb2.intro-manager-module.html)
「manager->」を除いた場合
buff = $mdb2->listTables();
→Call to undefined method: mdb2_driver_mysql->listtables() ・・・
●Reverse
$mdb2->loadModule('Reverse');
$buff = $mdb2->TableInfo();
var_dump($buff);
→Call to undefined method: mdb2_driver_mysql->tableinfo() in ・・・
「Reverse->」を足した場合
$buff = $mdb2->Reverse->TableInfo();
→Call to a member function on a non-object in ・・・
いまいちphpのエラー内容は解釈苦手なのですがReverseの2つのエラー
はどちらも解答に近づいていない気がします。
>>56さん
返信ありがとうございます、確認してみましたところとくに表示は出てきませんでした。
『Reverse モジュール (API) - スキーマのリバースエンジニアリングを
MDB2_Reverse_Common クラスで抽象化します。』
という記載がマニュアルにあったので
①スキーマを別途インストールして検証してみます。
また、どうにもMDB2+php4でそもそも動くのかというところから検証すべく
②php5+MDB2で検証してみます。
会社の環境は変更できないため自宅で環境を作ってからの検証
になりますので気長にやります。
他、なにかヒントになるような確認事項等ありましたらお願いします。
あと、回答遅くなりましたが日本語でのカラム名ですが、
たしかにおっしゃる通りです。私もこれまで思ってはいましたが実際挑戦する
ことになったのは今回が初です。
しかしながら、「もしも気兼ねなく日本語使えたら」という思いで頑張ります。
オープンソースの世界では無謀な挑戦かもしれませんが。
返信ありがとうございます、確認してみましたところとくに表示は出てきませんでした。
『Reverse モジュール (API) - スキーマのリバースエンジニアリングを
MDB2_Reverse_Common クラスで抽象化します。』
という記載がマニュアルにあったので
①スキーマを別途インストールして検証してみます。
また、どうにもMDB2+php4でそもそも動くのかというところから検証すべく
②php5+MDB2で検証してみます。
会社の環境は変更できないため自宅で環境を作ってからの検証
になりますので気長にやります。
他、なにかヒントになるような確認事項等ありましたらお願いします。
あと、回答遅くなりましたが日本語でのカラム名ですが、
たしかにおっしゃる通りです。私もこれまで思ってはいましたが実際挑戦する
ことになったのは今回が初です。
しかしながら、「もしも気兼ねなく日本語使えたら」という思いで頑張ります。
オープンソースの世界では無謀な挑戦かもしれませんが。
>>60 今調べたらアクセスできたよ。
【誤】 とありますが、PEARを使って、PECL をインストールするという意味でしょうか?
【正】 とありますが、PEARを使って、PECL の管理プログラムをインストールするという意味でしょうか?
【正】 とありますが、PEARを使って、PECL の管理プログラムをインストールするという意味でしょうか?
俺はportsでpear入れるの嫌だなぁ。
pearがパッケージになってるのに、
それをさらにportsするってあんまり意味がない。
pearがパッケージになってるのに、
それをさらにportsするってあんまり意味がない。
レンサバによるんだろうが、最悪
ローカルでインストールしたPEARをフォルダごと、
レンサバに転送すれば使える
ローカルでインストールしたPEARをフォルダごと、
レンサバに転送すれば使える
peclのid3を
pecl install id3
ってやって全部うまくいって入ったんだけど
入れた後はどうやったらその関数使えるようになるの?
インストールしたあとすぐにつかえるとおもって
<?php
print_r(id3_get_tag("test.mp3"));
?>
ってファイル作ってもなにも動作しないや・・・
なんか設定必要?
一応アパッチの再起動かけたけど駄目だった
pecl install id3
ってやって全部うまくいって入ったんだけど
入れた後はどうやったらその関数使えるようになるの?
インストールしたあとすぐにつかえるとおもって
<?php
print_r(id3_get_tag("test.mp3"));
?>
ってファイル作ってもなにも動作しないや・・・
なんか設定必要?
一応アパッチの再起動かけたけど駄目だった
>>87
php.ini に直接か php.d/id3.iniを作って
extension=id3.so //id3.soであってるかどうかは知らん。
と書かなきゃいけないんじゃね。
その後、apache再起動。
もしくはdl()でロードするとか。
php.ini に直接か php.d/id3.iniを作って
extension=id3.so //id3.soであってるかどうかは知らん。
と書かなきゃいけないんじゃね。
その後、apache再起動。
もしくはdl()でロードするとか。
>>88さんのとおりやったらできた
ありがとうございます
ありがとうございます
どうでもいいことなんだけど、いちいち言い訳をしないと前に進まない奴なんだな。
まぁ、言い訳ばっかりして、ちーとも前に進まない輩も多いのでまだマシなだけどな。
おまけに2ちゃんねるで鵜呑みにするのも危ないが... まぁがんばれ。
まぁ、言い訳ばっかりして、ちーとも前に進まない輩も多いのでまだマシなだけどな。
おまけに2ちゃんねるで鵜呑みにするのも危ないが... まぁがんばれ。
どうでもいいことなんだけど、謝ることより他に言うべきもっと大事なことがあるだろうと・・・
死んでる。Webも見れんし、インストールもできん。日曜プログラマの俺涙目・・・
お色直ししてました。
pearコマンド(接続先も)も変わったので、使っている方はご注意あれ。
pearコマンド(接続先も)も変わったので、使っている方はご注意あれ。
類似してるかもしれないスレッド
- 【PHP】Yii Framework (981) - [41%] - 2012/8/12 2:46
- 【PHP】Yii Framework Part 2 (182) - [37%] - 2019/5/9 7:45
- PHP + PostgreSQL (932) - [14%] - 2015/3/3 6:30 ○
トップメニューへ / →のくす牧場書庫について