Pear
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNG0717nobodyさん
04/10/19 22:28:05ID:???レンダラを生成する際にcollectHiddenをtrueにしてないとか
はずしてたらスマソ
でもaddElementで変数を引数にしてるから
動作しないってこたぁないと思う
0718nobodyさん
04/10/20 17:13:22ID:???0720nobodyさん
04/10/24 04:07:54ID:???ぐぐってミラーしてるところ見つけたから当面は困らないけど・・・。
0722nobodyさん
04/10/24 10:57:28ID:???どうぞ。
http://www.google.co.jp/
0723nobodyさん
04/10/24 14:49:17ID:???// ̄~`i ゝ `l |
/ / ,______ ,_____ ________ | | ____ TM
| | ___ // ̄ヽヽ // ̄ヽヽ (( ̄)) | | // ̄_>>
\ヽ、 |l | | | | | | | | ``( (. .| | | | ~~
`、二===-' ` ===' ' ` ===' ' // ̄ヽヽ |__ゝ ヽ二=''
ヽヽ___// 日本
ウェブ イメージ ニュース New! グループ ディレクトリ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
._________________
|Pear マニュアル. │・検索オプション
└────────────────┘・表示設定
| Google検索 | I'm Feeling Lucky | ・言語ツール
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
○ウェブ全体から検索 ◎日本語のページを検索
0724nobodyさん
04/10/25 13:10:14ID:???直すために何か自分で動きたいが何をどうしたら良いのか皆目わからん orz
0725nobodyさん
04/10/25 13:28:50ID:???PEAR Documentation List Mailing Listにポストされていました。
ドキュメントの問題はこのMLにポストするのが確実ですね。
http://marc.theaimsgroup.com/?t=109864526800003&r=1&w=2
とりあえずこちらで利用できるようです。
http://elf.no-ip.org/~elf/php/peardoc/ja/index.html
0726nobodyさん
04/10/25 13:30:08ID:???ここじゃダメなんですか?
0728nobodyさん
04/10/25 17:29:15ID:???0730nobodyさん
04/10/26 01:30:18ID:???誤訳を読まされるぐらいなら、オリジナルを見た方がマシ。
0731nobodyさん
04/10/26 11:36:21ID:???724は別に自分が訳すとは言っていないのでは?
あとどうでも良いが、書けなくてもそれなりに訳せるやつは結構いると思う(かくいう自分も)。
まあしかし、オリジナル見れば良いってのには同意。
つーか日本語マニュアル無くなってることに気付かなかったし。
0732nobodyさん
04/10/28 14:28:39ID:???DB_QueryToolのサンプルを参考に(ttp://opensource.visionp.biz/index.php?id=78)
簡単なソースを書いてみたんだけど、
Notice: Undefined property: phptype in /usr/local/lib/php/MDB/QueryTool/Query.php on line 1475
Fatal error: Call to undefined function: tableinfo() in /usr/local/lib/php/MDB/QueryTool/Query.php on line 1509
だそうな。
tableinfo() は $this->db->tableinfo() てな感じで呼び出されていて、$db は MDBのオブジェクト。
確かにMDB.phpには定義されていない・・・。
stable バージョンのはずなのにどうなってるんでしょうかね?
普通に使えている方いらっしゃいますか?
PHP-4.3.9
Log 1.8.6
MDB 1.3.0
MDB_QueryTool 0.11.1
0733nobodyさん
04/10/28 15:17:36ID:QKLA96NVおまい、かなりヒマだな
0734732
04/10/28 16:18:34ID:???テストと同時にサーバの設定変更も頻繁に行っており、PHPも何度もビルドしてました。
その過程で --with-mysql オプションのパス設定がおかしかったらしく、MySQLの
Client API version が ビルトインの 3.xx になっていたのが原因でした。
お騒がせしました。
0735nobodyさん
04/10/28 16:21:01ID:???phptype が未定義でNoticeがでているというのが重要。
DSNをちゃんと指定してない気がする。
ちゃんと接続できていれば $db は MDB オブジェクトじゃなくて、
各 DB に対応したドライバー(MDB_mysql等)のオブジェクトになるので
ちゃんとtableInfoメソッドは存在するはず。
0736nobodyさん
04/10/28 16:23:35ID:???0738nobodyさん
04/10/28 21:25:08ID:???MDB_QueryTool は自動でエスケープ処理かからないのが難だと思う… 何かあっても良さそうだけど。
0739732
04/10/28 23:51:57ID:???MDBで定義されているgetTextValueメソッドを使えっていうことなんですかねぇ?
いろいろ触って見ましたが、いまいち使い方が良くわからないですね。
DB_QueryToolのQuick demoにあるような単純なクエリーには威力を
発揮しますが、ちょっと込み入るとめんどくさい・・・。
構造上テーブル毎にクラスを作って、インスタンスを作成する度に
コネクションする必要があるし、いまいちメリットが見えてこないです。
もう少しドキュメントが整備されるまでほっとこうかなちう気になってました。
0740nobodyさん
04/10/29 00:29:31ID:???現状はインジェクション対策は自前でやるしかないですね。
いいアイデアがあれば、本家に投げてみたらどうでしょうか。
ちなみに(M)DB オブジェクトは、setDbInstance()メソッドで渡せます。
http://pear.php.net/package/DB_QueryTool/docs/0.11.1/DB_QueryTool/DB_QueryTool_Query.html#methodsetDbInstance
0741738
04/10/29 00:33:59ID:???>>740
DB_DataObject の方は whereAdd 等のメソッドを除いて add/stripslashes が自動でかかるのでコード量が低減されていい感じに使えてます。
自分で拡張したらいいんですかね… デザパタを知らないので効率的な実装方法が思い浮かばず。
0742nobodyさん
04/11/03 16:42:39ID:qNk8kqG8登録->確認->完了という風にしたいんですが、
QFの表示はできるのですが、Validateがうまくいってないようで
確認画面すらいけてない状況です。
よくわからないのがMojaviとQFの絡み具合で、
登録画面を->IndexView_inputとしたら
確認画面はQFにやってもらえちゃうのか、
それともIndexView_successなどを用意するのかどっちにすれば
いいのでしょうか?
初歩的なことですみませんが、ご教授下さいませ。
0743nobodyさん
04/11/03 20:28:08ID:UAoI4xx+form action が index.php?act=regi とかだと動いてくれませんか?
regi.php とかでリクエストを受付けるようしないとダメっぽいです。
0744nobodyさん
04/11/04 02:04:16ID:???post後に凍結状態にしてユーザにチェックを促す。その後submitでDB書き込み
の様にしたいのですが。
validate() 後、freeze()でいきなりDB書き込みをしてしまいます。
0745nobodyさん
04/11/04 02:16:57ID:???0746nobodyさん
04/11/04 02:50:19ID:???ご自由に。
俺は VIEW_INPUT に任せてる。
initialize でフォームの初期化、getRequestMethod に REQ_POST セット、
execute で遷移判定行って確認画面なら $form->freez() しておくと勝手に確認画面になる。
>>743
> form action が index.php?act=regi とかだと動いてくれませんか?
> regi.php とかでリクエストを受付けるようしないとダメっぽいです。
?
>>744
> validate() 後、freeze()でいきなりDB書き込みをしてしまいます。
プログラムは願った通りに動くのではなく、書かれた通りに動作します。
自分の書いたコード見直せと。
どこかで $form->process でもしてるんじゃないのかと予想。
>>745
('A`
0747nobodyさん
04/11/04 03:54:33ID:???さんどうもです。
form action が index.php?act=regi で動いてくれません。
746さんは動いてますか?
ちなみに、
$form =& new HTML_Quick_Form("contact", "post")でポストソメッドで
リクエストしてます。
0749746
04/11/04 04:56:57ID:???例えば
edit.php?page=FrontPage
edit.php?page=Menu
等、GET メソッドにより処理の流れが変わるプログラムがあり、
その中で $form = new HTML_QuickForm('formName', 'POST') として QF を扱う場合に問題が起こるか、という事でしょうか。
過去にそういうプログラム書いた事がありますし、特に何で悩んだ記憶もありません。
>>742 以降の質問に共通して自分で書いた処理の流れが追えてなかったり、原因の追及といったデバッグの工夫が足りない気が…
0750nobodyさん
04/11/04 10:01:13ID:KS5MBsCwさんどうもです。
できるんですね。
>原因の追及といったデバッグの工夫が足りない気が…
反省・・・・
0751nobodyさん
04/11/04 11:10:19ID:???> form action が index.php?act=regi で動いてくれません。
ひょっとして form 要素の action 属性ですか。
自分はプログラム自体は GET/POST に依存しないよう記述し、必要なパラメータは POST に突っ込んで送っていたので何とも。
でも問題が起こるとも思えませんけど。
ひょっとして処理の流れが分かれた後に QF の設定行ってませんか。
$form->addElement(A) のようにセットされた要素でないと受けれなかった気が。
上記の状態でフォームオブジェクト B が送信されても QF からは無視される、という事です。
0752nobodyさん
04/11/04 20:14:21ID:KrYBwtYH$form = new HTML_QuickForm('form', 'POST', "index.php?act=regi");
で書き出せました。
0753742
04/11/05 03:29:10ID:???処理の流れが分かれた後に QF の設定をしてたのが原因でした。
ありがとうございます。
0754nobodyさん
04/11/25 12:57:47ID:???いつから復活かわからないけど,尽力された方,ありがとうございました.
0755nobodyさん
04/11/26 11:35:54ID:ZcWiZpx20757nobodyさん
04/11/26 13:17:43ID:???0758nobodyさん
04/11/26 18:06:48ID:???って感じの一般的なフォームを作っています。
フォームを記述したスクリプトは、index.phpから、?action=form
というパラメータを使って呼びだしたいのですが、各ページを作成する
HTML_QuickForm_Page(HTML_QuickFormから派生)のコンストラクタが、
function HTML_QuickForm_Page($formName, $method = 'post', $action, $target = '_self' ...)
{$this->HTML_QuickForm($formName, $method, '', $target, ...);}
($action抜かしてる)
となっていて、>752さんの方法で、action属性のURLが指定できません。
ググってみたところ、上記のコンストラクタを書き換え、$actionを足してやればできるとの報告があり、
実際私の環境でもうまく動いたのですが、正直PEARの中身を書き換えるというのはかなり抵抗がありますし、
$actionをわざわざ除けて書いてるあたりに何らかの意志を感じてしまうのですが、
なにか、他の良い方法はないでしょうか。
0759758
04/11/26 18:12:23ID:???function HTML_QuickForm_Page($formName, $method = 'post', $target = '_self' ...)
{$this->HTML_QuickForm($formName, $method, '', $target, ...);}
($action抜かしてる)
でした。
0760nobodyさん
04/11/26 22:28:57ID:???1つのテーブルに主キー(シーケンスID)とユニークキーがあった場合、
主キーが自動的に振られなくてエラーが出るんだけど、
なんか良い方法ないですか?
user_id ... 主キー
login_name ... ユニークキー
real_name
これでlogin_nameとreal_nameに値を入力してinsert()しても
user_idが空になります。
主キーをlogin_nameにしてuser_idを削除すればいいってのはナシで。
0761nobodyさん
04/11/27 01:48:58ID:???on demand で使わずに
きちんと DB/DataObject/createTables.php で ini ファイル作って主キーを正しく設定するか,
あるいは DB/DataObject/Generator.php を inherit して
正しく主キーを認識する Generator を作る
って感じかなぁ……
0762nobodyさん
04/12/16 18:15:03ID:???ttp://pear.php.net/package/XML_RPC
枯れていますか?
0763nobodyさん
04/12/17 00:12:54ID:???結果的にPEAR::XML_RPCの問題点があぶりだされました。
ttp://ll.jus.or.jp/llw2004/program.html
のn-Queensゲーム
このサーバ部分がPEAR::XML_RPCを使って書かれてます。
問題になったのは、受け渡されるXMLの各タグの間に改行も空白もないと
PEAR::XML_RPCは解析に失敗することです。
<methodCall><methodName>method</methodName><params></params></methodCall>
のように改行なしで続けて書くとダメ。
pear-devにえらく場当たりなパッチが流れたのも見ましたが、
たぶんまだ直ってないと思います。
0764nobodyさん
04/12/17 10:36:24ID:???貴重な情報ありがとうございます。
とりあえず改行ありなら他は大丈夫だったのでしょうか。
ttp://xmlrpc.usefulinc.com/php.html
なんてのもありますね。
0765nobodyさん
04/12/17 13:43:28ID:???それは、中で使ってるSAXに依存する部分でもあるしなぁ。
SAXで一度パースしたもんを再度自分でパースするのも馬鹿らしい
つかSAXを利用してる他の言語がどうやって回避してるのか知りたいぐらい。
それか別のパーザ使ってるのかね。
0766nobodyさん
04/12/19 07:02:33ID:QLY6UAMz入力、確認が1アクション、登録、完了画面だとしてActionだけ書くと
InputAction.class.php
RegistAction.class.php
ResultAction.class.php
って感じですか?
あとQFの$formは
$request->setAttribute("form", $form);
でいいの?
0767nobodyさん
04/12/20 09:49:37ID:???0768nobodyさん
04/12/21 17:37:38ID:G7a/Aascupgrade/installしようとすると、
no signature found for package.info(string,string,bool)
とでる。
0769nobodyさん
04/12/26 06:05:29ID:???その際配布PHPにPEARのパッケージも一緒につけて配布する予定です。
こういった場合、各ファイルのパスをすべて
いちいち手動で設定しないとだめですか?
それともほかにうまいやり方があるんでしょうか?
0771nobodyさん
04/12/27 00:49:04ID:???今まで読み込んできたコードがあれば幾つかの例が引けるし学習積んできたのなら引き出しがあるはず。
みんなどうしてる?なら分かるが何も出せないのは不味い。人のこと言えないが、仕事で使ってるのならもう少し…
俺なら PEAR へのパスを設定に入れる。例えば
define('PEAR_DIR', BASE_DIR .'lib/pear');
として、配布パッケージの lib/pear 以下に必要なパッケージを全部詰めておく。
パッケージのコールには require_once(PEAR_DIR .'HTML/QuickForm.php'); とする。
そのままでさくっと動くし、利用者が自分で用意したパッケージを使いたいならPEAR_DIR書き換えれば済む。
PEAR との依存関係見れるインストーラ付けるってのもスマートでいいかもしれない。
include_path はまるごと PHP のえるふたん記事読んで以来頼らないようにしてる。
0772771
04/12/27 01:18:15ID:???0773nobodyさん
04/12/29 03:09:10ID:???それって、123ページの?要は、同じファイル名があると正確には保証できないからって。
>>俺なら PEAR へのパスを設定に入れる。例えば
の方法って、lib/pear以下に詰めたPEARパッケージのファイルのinclude/requireしてる部分を
すべて書き換えるってこと?かなり面倒じゃないか?自分はQuickForm_Controllerでそれ諦めた。
まぁ、ケースバイケースというのが答えなんだけど。
0774769
04/12/29 03:14:43ID:???どちらかしか無いようですね・・。
がんばります。
ちなみに学生なので、趣味のプログラミングです。
0775nobodyさん
04/12/29 11:02:16ID:???まだその記事読んでないから外してるかもだけど,要は include_path が自分の支配下のディレクトリ以外を指さなければ良いわけでしょ?
通常の /usr/local/lib/php とか . (カレント)とかが適切でない順序で入ってたら問題が発生する危険性があるけど,DocumentRoot ごとに個別に PEAR ライブラリ全てのコピーを持つようにすれば,無駄は増えるけど安全だと思う.
システムの PEAR パッケージ更新したら bc break してて昔のサイトが動かん,とかも防げるし一石二鳥w
0776nobodyさん
04/12/29 15:00:47ID:???PEAR 以下のファイルを書き換えるのは余程を除いて避けたい所。
アプリケーションの中だけで ini_set して include_path をコントロールするという方法もある。
その上で PEAR のライブラリですよ〜と prefix を付けて明示的に require するって事では。
例えば PEAR::Config (pear/Config.php) のように他と名前が被りやすいケースもあるので prefix 付けるのはまぁ悪くないと思う。
define('LIB_DIR', '/path2mylibsdir');
define('PEAR_DIR', '/path2peardir');
とあったら ini_set('include_path', PEAR_DIR . $separator. LIB_DIR);
で、ライブラリ持ってくる時は
require_once(PEAR_DIR .'Config.php');
require_once(LIB_DIR .'Config.php'); // 自分で作成するクラス/ファイル名はユニークな名称を付けた方がいいと思うので悪例だが
みたいな感じか?
0777nobodyさん
04/12/30 19:27:12ID:???お互いValidationで機能がかぶると思うんですが、
どんな感じでやってますか?
QFはフォームのバリデーションは便利だけど、
独自に渡されてきたパラメータとかはできませんよね。
バリデーションを統一したかったので
結局QFを諦めて、mojaviのバリデーションを
扱うクラスを作成したわけですが、みなさんどうしてますか?
0778nobodyさん
04/12/31 03:19:08ID:???困ることってある?
フォームオブジェクトはQFに処理させ、それ以外はMojaviのバリデータ使ってる。
まるごとに出てくるMappingRequestFilterも選択肢に入れてるけど未だに必要に思ったこと無い。いや、形としてはアレが美しいんだけど。
まぁそんなこんなで俺は困ってない。
0779nobodyさん
04/12/31 17:11:26ID:???なんとなくバリデータが2つあるのってシンプルじゃないなって気がしてね。
これはもう個人的に好きか好きじゃないかって話になっちゃうと思うけどね。
MappingRequestFilter使うとなると、フォームをオブジェクトとして扱うだけ
になっちゃうってことだよね?
まるごとの記事です。Mojaviを勉強中の方はどうぞ
http://iteman.typepad.jp/blog/files/hustling-mojavi.html#doc1_707
0780nobodyさん
04/12/31 17:47:53ID:???なるほど。
個人的には Mojavi のバリデータが面倒なのと、フォームオブジェクトとルールは一カ所に記述したい事もあって registerValidate は補完的に使う事にしてる。
あとフォームオブジェクトとルールのセットを別アクションで使う事もあるので次第にそうなっちゃった。
その下に validate() 付けて return $qf->validate() とやっておけばコード見て 「QF にもルール記述があるな」 って分かるし。
Mojavi3 はバリデータの仕組みが変わってるらしく、聞いた話では ini ファイルか何かで外部定義出来るらしいから YAML/XML/INI 使ってデータソースを QF と統合できるかもとか妄想してみる。
0781780
04/12/31 17:48:32ID:???0782nobodyさん
05/01/05 11:50:10ID:???まただめですねぇ。
ttp://pear.php.net/bugs/bug.php?id=3005
これって、しばらくまってればOKってことなんでしょうか?
0783nobodyさん
05/01/05 15:18:19ID:???でエラーが出るって既出ですか?
unsignedがunsagnedになってるってやつ
0784nobodyさん
05/01/08 11:54:38ID:???いつからだろう・・・。
0785784
05/01/08 12:11:10ID:???element.phpの441行目を以下のようにして回避しました。
if (null === $value || $value == "" ) {
QuickFormのバージョンは3.2.4.pl1です。
0786nobodyさん
05/01/16 04:05:42ID:???0787nobodyさん
05/01/16 05:21:28ID:???確認画面用とか。
で、俺もちょっと気になっている点が。
入力画面→確認画面→処理
↑___|
という画面遷移の場合、どの時点においてもvalidate()はTRUEを
返す場合があるので、どの画面にするかはsubmitボタン(もしくはそれに準ずるボタン)の
valueでvalidate()後振り分けるって形でいいのでしょうか? 例えば、
if ($form->validate()) {
switch($submit){
case '確認':$form->freeze();確認ボタンを消して処理と戻るボタンを表示する処理;break;
case '処理':入力内容を処理;header('Location: ...');break;
}
$form->display();
見たいな感じ?
なんとなく、画面遷移の処理が煩雑、特にボタンを入れ替えるあたりが気になるのだけど、
こんなもんだろうか? まぁ、どのボタンを表示するかは適当な変数を割り当てて、
テンプレート(Smarty)側で判断させてますが...
0788nobodyさん
05/01/16 13:28:04ID:EVWCqEDEvalidate後に Freezeで処理がとまってしまい、その後どうするんだ?と
悩んでました。
0789787
05/01/16 14:39:53ID:???あぁ、いゃ、あなたへの返事は1行目だけだったんだがw
以下の処理は、こんなもんでいいのかという俺の疑問。
まぁ、間違いでは無いだろうから参考になったろうけど。
っと、間違いが一点あった。header()の後はexit;だな。
0790nobodyさん
05/01/16 15:11:10ID:???smartyならモジュールが用意されているのみたいなのですが
Flexyはないようです。
smartyに乗り換えたほうがいいでしょうか
0791nobodyさん
05/01/16 16:53:15ID:???自分でFlexy用のレンダラー書けばいいと思うよ。
SmartyRenderer.class.phpを見ながらやれば割とすぐ書けるんじゃないかと思われ。
それが嫌なら乗り換えれ。
0792784
05/01/17 17:41:39ID:???QuickForm.phpの451行目に追加
$this->_submittedValues = array_merge($this->_submittedValues, $constantValues);
0793784
05/01/17 17:43:05ID:???_submittedValues -> _submitValues
0794nobodyさん
05/01/25 06:51:55ID:???pearの mail 関数どう違うんでしょうか。
普通のmail 関数で十分な気がする。
0796nobodyさん
05/01/25 12:58:07ID:???0797nobodyさん
05/01/25 17:32:46ID:???0798nobodyさん
05/01/26 01:08:25ID:???いろいろ選択できる(自作もできると思う)から,
まぁ無意味ってわけじゃないが,普通には使わないな……
0799nobodyさん
05/01/26 02:37:05ID:???WindowsはSMTPを一応喋っている形になっている。
で、UNIX系でも直接ISPやレンタルのSMTP鯖へ投げたい場合は
Pear Mailを使うのが楽かもね。
ローカルのMTA設定を弄れば同じことも出来るけど、
出来ないorやりたくない人も居るだろうし。
0800nobodyさん
05/01/26 03:24:59ID:???別にPEARのmailクラスに不満がある訳でもないが。
0801さちこ
05/01/26 15:00:33ID:???わかりません。
ご教授お願いいたします。
<私のソース>
・
・
・
$status_list = array(1=>"option1",
2>"option2",
3=>"option3");
$attrs = "";
$form->addElement('select', 'status', 'Select status:', $status_list, $attrs);
・
・
・
0802nobodyさん
05/01/26 16:42:49ID:???0804802
05/01/26 17:00:23ID:???つか、英語わからんでもマニュアル眺めてりゃなんとなくわかるよ。
http://pear.php.net/manual/en/package.html.html-quickform.php
0805nobodyさん
05/01/26 17:23:35ID:???合ってるような気もするが。
$status =& $form->addElement('select', 'status', 'Select status:', $status_list, $attrs);
$status->setSelected(2);
0806さちこ
05/01/26 17:30:31ID:???ありがとうございます。おかげで理解することができました!!!
0807nobodyさん
05/01/26 17:32:40ID:???普及した証左だと喜ぶべきか、これでまたいずれPEAR系情報源も初心者とノイズで埋まるのかと鬱るべきか。
http://pear.php.net/manual/en/package.html.html-quickform.tutorial.php
> Example 32-1. Basic QuickForm usage
0808nobodyさん
05/01/27 19:12:47ID:???ということにして自分を納得させようぜ orz
0809nobodyさん
05/01/27 19:49:29ID:???手取り足取りなチュートリアルは、
ttp://www.planewave.org/translations/quickform/html_quickform.html
ttp://www.is.titech.ac.jp/~yanagis0/kei/quickform.html
ttp://hatotech.org/kumatch/datas/quickform.pdf
くらいしか見つからなかった。
英語の良さげなチュートリアルみたいなのもあったけどURL忘れた。
ttp://www.sitepoint.com/subcat/php-tutorials の中のどれかだったと思う。
あとは pear添付のdocsくらいか。
0810nobodyさん
05/02/02 17:48:32ID:???Firebirdを利用していて日付型のINSERTがしたいのですが
SQLでは
INSERT INTO table (ID, "DATE") VALUES (1, '2005/02/02');
(項目名DATEは予約語なので"でくくる必要があります)
でいけるのですがphpで
$d = array("ID"=>"1", '"DATE"'=>"'2005/02/02'");
$QueryTool->add($d);
としても登録されない状態で困っています。print_r($d)で
$d["DATE"]に'2005/02/02'が入っているのは確認したのですが…
■また、(M)DB_QueryToolのエラーはどのように取得すればいいのでしょうか。
どなたかアドバイスいただけないでしょうか。
よろしくお願いいたします。
0811nobodyさん
05/02/02 19:01:24ID:???ソース見た感じだと、
$QueryTools->setOption('logFile','sql_log.txt'); てな感じにセットしておけば、
sql_log.txtファイルに実行したSQLが保持されるみたい。要Logパッケージ。
エラーした場合も(failed)付きで書き出される模様。
$QueryTools->setOption('verbose',true); しておけば更に詳細に出るっぽい。
0812810
05/02/03 10:35:38ID:???ありがとうございました。試したところばっちりでした。
ただ、Firebird固有なのかもしれませんが、
$d = array("ID"=>"1", "DATE"=>"2005/02/02"); は
INSET INTO table (ID, DATE) VALUES ('1', '2005/02/02'); となり
項目名DATEが予約語のため不可。
$d = array("ID"=>"1", '"DATE"'=>"2005/02/02"); は
INSET INTO table (ID) VALUES ('1'); となり
DATEが無視されてしまう("でくくっても'でくくっても\"でくくっても)ようで
困っています。情報ないでしょうか。
■エラーの取得方法をどなたかご存知ないでしょうか。
よろしくお願いいたします。
0814nobodyさん
05/02/04 13:50:14ID:???ん?昨年秋に使った頃にはオプションだけあって未実装だったけど。実装されたのかな。
0.10.1 -> 0.11.1 の ChangeLog 見てみたけどロギングについては書いてないので尋ねてみるテスト。
>>812
Java じゃないんだし。返値取って var_dump すれ。
もしくは PHP4 ならまるごと PHP のエラー制御見れ。
0815810
05/02/04 15:24:22ID:???実装されてるみたい。ただ呼び出すファイルと同じ場所に書き出されるので
パーミッション的に嫌な感じ。デバッグ用と割り切ればいいんでしょうけど。
あと、まるごとPHPみて勉強します。ありがとうございました。
0816nobodyさん
05/02/04 16:04:05ID:???うぁ 乱暴に投げたのに丁寧に返されてしまった… ありがとうございます。
API ドキュメント見るとメソッドの戻り値が載っているのでそれを参考にエラーハンドリング、
PEAR によるエラーハンドリングの詳細はまるごとに載ってるって感じで。
デバッグで var_dump 取る場合は Xdebug か PEAR::Var_dump 突っ込んでおくと幸せかも。
■ このスレッドは過去ログ倉庫に格納されています