From uto-s @ ymail.plala.or.jp Sat May 1 01:08:08 2010 From: uto-s @ ymail.plala.or.jp (kona) Date: Sat, 1 May 2010 01:08:08 +0900 Subject: [PHP-users 35183] Re: =?iso-2022-jp?b?Rk9STRskQiRHJE5DTUVPJDckSyREJCQkRhsoQig=?= =?iso-2022-jp?b?GyRCOkc4ZSROQ00kLEZ+JEMkRiQ3JF4kJhsoQik=?= References: <1851A6C3C6C04F91992BDB251D2124E0@UTO2> Message-ID: 北尾さん、リュウさん、おくさん konaです。 ご指摘のありました通り、単なるタグの下記間違いでした。 修正する事で解決しましたが、 Javascriptを使う方法なども勉強になりました。 感謝です。 ありがとうございました。 ----- Original Message ----- From: To: "PHP-users ML" Sent: Friday, April 30, 2010 5:10 AM Subject: [PHP-users 35182] Re:FORMでの値渡しについて(最後の値が入ってしまう) > おくです。 > > form タグの位置がおかしいのは、 > 意図しない空白を無くすためのバッドノウハウだとして、 > 指摘のあったように、 をに修正すれば解決するように思いますが、 > > 以下のように、del を配列で返すようにすれば、htmlサイズの削減になります。 > > > "> > while ($row=$rs->fetchRow(DB_FETCHMODE_ASSOC)){ > ?> > > > > > > } > >
> > 受け取る側では、 > $no = current(array_keys($_POST['del'])); > で受け取れるかと。 > _______________________________________________ > PHP-users mailing list PHP-users @ php.gr.jp > http://ml.php.gr.jp/mailman/listinfo/php-users > PHP初心者のためのページ - 質問する前にはこちらをお読みください > http://oldwww.php.gr.jp/php/novice.php3 > From phpsenyo @ yahoo.co.jp Sun May 2 14:41:00 2010 From: phpsenyo @ yahoo.co.jp (phpsenyo @ yahoo.co.jp) Date: Sun, 2 May 2010 14:41:00 +0900 (JST) Subject: [PHP-users 35184] =?iso-2022-jp?b?VVRGLTggGyRCJEckThsoQiBlc2NhcGVzaGVsbGNtZCA=?= =?iso-2022-jp?b?GyRCJE5KODt6Mj0kMSRLJEQkJCRGGyhC?= Message-ID: <20100502054100.31216.qmail@web4208.mail.ogk.yahoo.co.jp> こんにちは。phpsenyoと申します。 UTF-8のエンコードでescapeshellcmdを実行すると特定文字が文字化けします。 具体的には echo escapeshellcmd("あいうえお") ; とすると、「あいっ??お」となり、一文字ずつ確認していくと「う」が原因とな っていました。 EUC-JPで同じことを実行しても問題は起こりません。 いろいろ調べて書類の冒頭に setlocale(LC_ALL, "ja_JP.UTF-8"); や mb_language("uni"); mb_internal_encoding("utf-8"); mb_http_input("auto"); mb_http_output("utf-8"); などを設定しても改善されませんでした。 当方の環境は下記の通りです。 OS Windows XP PHP 5.2.12 Apache 2.2.14 原因や対応方法をご存知の方がいらっしゃいましたら、お教えいただければ幸い です。 -------------------------------------- GyaO! - Anime, Dramas, Movies, and Music videos [FREE] http://pr.mail.yahoo.co.jp/gyao/ From koyama @ hoge.org Mon May 3 20:50:20 2010 From: koyama @ hoge.org (KOYAMA Tetsuji) Date: Mon, 3 May 2010 20:50:20 +0900 Subject: [PHP-users 35185] Re: =?iso-2022-jp?b?VVRGLTggGyRCJEckThsoQiBlc2NhcGVzaGVsbGNtZCA=?= =?iso-2022-jp?b?GyRCJE5KODt6Mj0kMSRLJEQkJCRGGyhC?= In-Reply-To: <20100502054100.31216.qmail@web4208.mail.ogk.yahoo.co.jp> References: <20100502054100.31216.qmail@web4208.mail.ogk.yahoo.co.jp> Message-ID: 小山です。 2010/5/2 : > UTF-8のエンコードでescapeshellcmdを実行すると特定文字が文字化けします。 > > 具体的には > echo escapeshellcmd("あいうえお") ; > とすると、「あいっ??お」となり、一文字ずつ確認していくと「う」が原因とな > っていました。 再現する最小のコードで、問題点を明確にするのが良いと思います。 escapeshellcmd() は内部で php_mblen() を用いているので、これは多くの環境の 場合 OS の mblen() を呼び出します。つまり locale によって挙動が変わるということ ですね。 以下のコードを UTF-8 で保存して実行すると、何が出力されますか? Message-ID: <20100504051901.56481.qmail@web4205.mail.ogk.yahoo.co.jp> 小山様 お返事ありがとうございました。 > 以下のコードを UTF-8 で保存して実行すると、何が出力されますか? > > $locale = setlocale(LC_ALL, 'ja_JP.UTF-8'); > var_dump($locale); > > $str = 'う'; > var_dump($str, bin2hex($str)); > > $out = escapeshellcmd($str); > var_dump($out, bin2hex($out)); 以下の通りとなりました。 bool(false) string(3) "う" string(6) "e38186" string(2) "ぢ string(4) "e381" $localeのvar_dumpがfalseということはsetlocaleが失敗しているということでし ょうか。 見当違いかもしれませんが、ネットで調べて下記の設定を試してみたのですが、 一番上以外は全てfalseでした。 $locale = setlocale(LC_ALL, 'Japanese_Japan.20932'); → string(20) "Japanese_Japan.20932" $locale = setlocale(LC_ALL, 'Japanese_Japan.51932'); → bool(false) $locale = setlocale(LC_ALL, 'ja_JP.eucJP'); → bool(false) $locale = setlocale(LC_ALL, "ja_JP.SJIS"); → bool(false) $locale = setlocale(LC_ALL, 'ja_JP.UTF-8'); → bool(false) 教えて君で誠に恐縮なのですが、アドバイスをいただければ幸いです。 -------------------------------------- GyaO! - Anime, Dramas, Movies, and Music videos [FREE] http://pr.mail.yahoo.co.jp/gyao/ From koyama @ hoge.org Tue May 4 15:47:09 2010 From: koyama @ hoge.org (KOYAMA Tetsuji) Date: Tue, 4 May 2010 15:47:09 +0900 Subject: [PHP-users 35187] Re: =?iso-2022-jp?b?VVRGLTggGyRCJEckThsoQiBlc2NhcGVzaGVsbGNtZCA=?= =?iso-2022-jp?b?GyRCJE5KODt6Mj0kMSRLJEQkJCRGGyhC?= In-Reply-To: <20100504051901.56481.qmail@web4205.mail.ogk.yahoo.co.jp> References: <20100504051901.56481.qmail@web4205.mail.ogk.yahoo.co.jp> Message-ID: 小山です。 2010/5/4 : > $localeのvar_dumpがfalseということはsetlocaleが失敗しているということでし > ょうか。 そのようです。 > 見当違いかもしれませんが、ネットで調べて下記の設定を試してみたのですが、 > 一番上以外は全てfalseでした。 > $locale = setlocale(LC_ALL, 'Japanese_Japan.20932'); → string(20) > "Japanese_Japan.20932" > $locale = setlocale(LC_ALL, 'Japanese_Japan.51932'); → bool(false) > $locale = setlocale(LC_ALL, 'ja_JP.eucJP'); → bool(false) > $locale = setlocale(LC_ALL, "ja_JP.SJIS"); → bool(false) > $locale = setlocale(LC_ALL, 'ja_JP.UTF-8'); → bool(false) PHP の setlocale() のマニュアルのユーザコメントに http://www.php.net/manual/en/function.setlocale.php#84719 | According to MSDN, Windows setlocale()'s implementation does not support UTF-8 encoding. とあります。そこからリンクされている MSDN のドキュメントを見ても http://msdn.microsoft.com/en-us/library/x99tb11d.aspx | The set of available languages, country/region codes, and code pages includes all those supported | by the Win32 NLS API except code pages that require more than two bytes per character, such as | UTF-7 and UTF-8. If you provide a code page like UTF-7 or UTF-8, setlocale will fail, returning NULL. | The set of language and country/region codes supported by setlocale is listed in Language and | Country/Region Strings. とあるので、Windows の setlocale() で UTF-8 を設定するのは無理そうですね。 escapeshellcmd() の実装本体は、ext/standard/exec.c:273 にある php_escape_shell_cmd() という C の関数です。それほど難しいロジックではないので、同様の機能を PHP で実装するのが 良いのではないでしょうか? -- 小山哲志@テックスタイル koyama @ techstyle.jp : http://techstyle.jp/ koyama @ hoge.org : http://d.hatena.ne.jp/koyhoge/ From phpsenyo @ yahoo.co.jp Wed May 5 09:55:20 2010 From: phpsenyo @ yahoo.co.jp (phpsenyo @ yahoo.co.jp) Date: Wed, 5 May 2010 09:55:20 +0900 (JST) Subject: [PHP-users 35188] Re: =?iso-2022-jp?b?VVRGLTggGyRCJEckThsoQiBlc2NhcGVzaGVsbGNtZCA=?= =?iso-2022-jp?b?GyRCJE5KODt6Mj0kMSRLJEQkJCRGGyhC?= In-Reply-To: Message-ID: <20100505005521.47500.qmail@web4208.mail.ogk.yahoo.co.jp> phpsenyoです。 小山さん、お返事ありがとうございました。 > Windows の setlocale() で UTF-8 を設定するのは無理そうですね。 お調べいただき、ありがとうございました。今後は私ももっとマニュアルを読むようにいたします。 > それほど難しいロジックではないので、同様の機能 を PHP で実装するのが > 良いのではないでしょうか? もともと自作関数で対応していたのですが、便利な関数があると知って浮気したら今回の問題にはまってしまいました(笑)。 しかし学習ができて良かったです。 重ねがさねですが、ありがとうございました。 -------------------------------------- GyaO! - Anime, Dramas, Movies, and Music videos [FREE] http://pr.mail.yahoo.co.jp/gyao/ From nomurat @ tmo.co.jp Fri May 7 15:35:20 2010 From: nomurat @ tmo.co.jp (Tomoo Nomura) Date: Fri, 07 May 2010 15:35:20 +0900 Subject: [PHP-users 35189] =?iso-2022-jp?b?c3RyX2dldGNzdhskQiROTC8kSjg9Pl0bKEI=?= Message-ID: <4BE3B4A8.9080306@tmo.co.jp> こんにちは。 php5.3から入った str_getcsvですが、妙な現象で悩んでいます。 php cliで以下のプログラムを実行すると #!/usr/bin/php5 以下のように正常に出力します。 i=0 b=0 i=1 b=20100313 i=2 b=110 i=3 b=AA i=4 b=EJ i=5 b=1 i=6 b=イ1032664714 i=7 b= i=8 b= i=9 b=2010021 i=10 b=A i=11 b= ところが、ソースを次のようにphtmlに替え、 apache2で実行すると、 i=0 b=0 i=1 b=20100313 i=2 b=110 i=3 b=AA i=4 b=EJ i=5 b=1 i=6 b=1032664714 i=7 b= i=8 b= i=9 b=2010021 i=10 b=A i=11 b= のようになり、半角カタカナのイが消えてしまいます。 php.iniのdiffは次のとおりです。 tom-lin @ root:/etc/php5/apache2# diff php.ini ../cli/php.ini 270c270 < memory_limit = 128M ; Maximum amount of memory a script may consume (128MB) --- > memory_limit = 32M ; Maximum amount of memory a script may consume (32MB) 457c457 < ;magic_quotes_gpc = Off --- > ;magic_quotes_gpc = On mb_internal_encoding はともに UTF-8 です。 いったい何が原因でしょうか? ヒントがあれば、よろしくお願いいたします。 野村 -- ****** Nomura Technical Management Office Ltd. ***************** Tomoo Nomura nomura @ tmo.co.jp http://www.tmo.co.jp/ Phone: +81-78-797-0240 Fax: +81-50-3428-2033 Worldwide Airline Timetable 'Flight Planner' European Electronic Timetable 'HAFAS' ValueFax Support **************************************************************** From xia @ silvia.com Fri May 7 15:42:47 2010 From: xia @ silvia.com (ISIGE, Akira) Date: Fri, 7 May 2010 15:42:47 +0900 (JST) Subject: [PHP-users 35190] Re: =?iso-2022-jp?b?c3RyX2dldGNzdhskQiROTC8kSjg9Pl0bKEI=?= In-Reply-To: <4BE3B4A8.9080306@tmo.co.jp> References: <4BE3B4A8.9080306@tmo.co.jp> Message-ID: <20100507064247.074E15081B@foria.sava.to> いしげ です. On 2010/05/07 15:35:20 JST, Tomoo Nomura wrote: > mb_internal_encoding はともに UTF-8 です。 > いったい何が原因でしょうか? > ヒントがあれば、よろしくお願いいたします。 str_getcsv() は,mbstring.internal_encoding ではなく, setlocale() のロケールの影響を受けるようです. utf-8 なら,ja_JP.UTF-8 とかに設定して確認してみるといいかもしれません. -- ISIGE, Akira From nomurat @ tmo.co.jp Fri May 7 16:50:05 2010 From: nomurat @ tmo.co.jp (Tomoo Nomura) Date: Fri, 07 May 2010 16:50:05 +0900 Subject: [PHP-users 35191] Re: =?iso-2022-jp?b?c3RyX2dldGNzdhskQiROTC8kSjg9Pl0bKEI=?= In-Reply-To: <20100507064247.074E15081B@foria.sava.to> References: <4BE3B4A8.9080306@tmo.co.jp> <20100507064247.074E15081B@foria.sava.to> Message-ID: <4BE3C62D.1000703@tmo.co.jp> いしげ 様 > str_getcsv() は,mbstring.internal_encoding ではなく, > setlocale() のロケールの影響を受けるようです. > > utf-8 なら,ja_JP.UTF-8 とかに設定して確認してみるといいかもしれません. ありがとうございました。 解決です。 野村 -- ****** Nomura Technical Management Office Ltd. ***************** Tomoo Nomura nomura @ tmo.co.jp http://www.tmo.co.jp/ Phone: +81-78-797-0240 Fax: +81-50-3428-2033 Worldwide Airline Timetable 'Flight Planner' European Electronic Timetable 'HAFAS' ValueFax Support **************************************************************** From kenji @ club.h14m.org Tue May 11 11:25:19 2010 From: kenji @ club.h14m.org (Kenji) Date: Tue, 11 May 2010 11:25:19 +0900 Subject: [PHP-users 35192] =?iso-2022-jp?b?GyRCIVgbKEJQSFAbJEI1VTB6JC0lbCU3JVQhWUF9On4bKEI=?= =?iso-2022-jp?b?GyRCNS1HMCVXJWwlPCVzJUglLSVjJXMlWiE8JXMbKEI=?= Message-ID: <20100511112519.1105d66c.kenji@club.h14m.org> Kenji です。 以前、この ML で書評を募集させていただきました『PHP逆引きレシピ』ですが、 おかげさまで、またまた増刷されました。 増刷を記念しまして、書籍の出版元である翔泳社様のご協力により、この書籍 をプレゼントするキャンペーンを現在実施中です。 ご興味がありましたら、以下のページをご覧ください。 http://bit.ly/9eANwj // Kenji From macindows @ forest.ocn.ne.jp Thu May 20 19:35:07 2010 From: macindows @ forest.ocn.ne.jp (macindows @ forest.ocn.ne.jp) Date: Thu, 20 May 2010 19:35:07 +0900 (JST) Subject: [PHP-users 35193] =?iso-2022-jp?b?GyRCQj88ITg1R1tOcyQrJGkkTiVHITwlP0NqPVAkSyREGyhC?= =?iso-2022-jp?b?GyRCJCQkRhsoQg==?= In-Reply-To: <780448644.28389591274351086196.JavaMail.root@mz-cb011p> Message-ID: <1572187587.28434541274351707113.JavaMail.root@mz-cb011p> 増田と申します。お世話になっております。 以下のコードにより、変数$ep_remark_dataに全てデータをいれたのですが、 そこから、ある条件に適さないものは、$ep_remark_dataから除く(または新たな変数に入れる)ということをしたいと考えています。 $ep_remark_data = array(); foreach ($fo as $line) { $ep_remark_data[] = array( 'ep_log_no' => $line[0], 'ep_log_live_no' => $line[1], 'ep_cmt_date' => $line[2], 'ep_user_id' => $line[3], 'ep_chara_id' => $line[4], 'ep_remark_flag' => $line[5], 'ep_remark_day' => $line[6], 'ep_remark_size' => $line[7], 'ep_remark_text' => $line[8], ); } //end foreach とりあえず、フィルタリングだろうと思い、array_filterを使い、以下のようなコードを書いたところ、目的のデータは得られました。 $filter = create_function('$ep_remark_data', 'return $ep_remark_data["ep_remark_flag"] == 9 && $ep_remark_data[ep_user_id]==1234;'); $filter_remark = array_filter($ep_remark_data, "filter"); ただ、$ep_remark_data[ep_user_id]==1234としているところで、1234ではなく、$idのように変数を使うとどうも目的の値が取れず、 うまくいきません。echo $id;として見る限り、正しい値を出していますが、スコープの関係か、うまくいかないのが現状です。 また、idが1234のみならず、5678のものも取得したいと考えた場合、再度「&& $ep_remark_data[ep_user_id]」 として条件を付け加えなければいけないかと思うとあまりスマートではないように思うのですが、何かよい方法はありますでしょうか? 一応配列ですので、 foreach($ep_remark_data as $ep_remark){ if($ep_remark['ep_remark_flag']==9){ $filter_remark=$ep_remark; } } として、forearchも使って抽出してみたのですが、flagが9のものはいくつもあるのに一個しか取ってくれず、 これも思うように動いてくれません。 上記のコードはやはり問題ありますでしょうか? もし、綺麗に抽出できる方法がありましたらご教授いただきたく思い、投稿させて頂きました。 拙い質問で申し訳ありませんが、宜しくお願い致します。 増田 From macindows @ forest.ocn.ne.jp Thu May 20 20:53:15 2010 From: macindows @ forest.ocn.ne.jp (macindows @ forest.ocn.ne.jp) Date: Thu, 20 May 2010 20:53:15 +0900 (JST) Subject: [PHP-users 35194] Re: =?iso-2022-jp?b?GyRCQj88ITg1R1tOcyQrJGkkTiVHITwlP0NqPVAbKEI=?= =?iso-2022-jp?b?GyRCJEskRCQkJEYbKEI=?= Message-ID: <2027926073.28791941274356395018.JavaMail.root@mz-cb011p> 増田です。なぜか投稿できていなかったので、違うスレッドで投稿させて頂きます。 自己レスで申し訳ありませんが、大体解決しました。 ----- 元のメッセージ ----- From: macindows @ forest.ocn.ne.jp To: php-users @ php.gr.jp 送信済み: 2010年5月20日, 木曜日 午後 7:35:07 GMT+09:00日本 件名: [PHP-users 35193] 多次元配列からのデータ抽出について >$filter = create_function('$ep_remark_data', 'return $ep_remark_data["ep_remark_flag"] == 9 && $ep_remark_data[ep_user_id]==1234;'); >$filter_remark = array_filter($ep_remark_data, "filter"); としてfunctionを使うのがやはり気になったので、 >一応配列ですので、 >foreach($ep_remark_data as $ep_remark){ > if($ep_remark['ep_remark_flag']==9){ > $filter_remark=$ep_remark; > } >} こちらを見なおしたところ、 $filter_remark=$ep_remark; として上書きしてました。。。 foreach($ep_remark_data as $ep_remark){ //print_r($ep_remark); if($ep_remark['ep_remark_flag']==9&&$ep_remark['ep_user_id']!=$id){ $filter_remark[]=$ep_remark; } } print_r($filter_remark); とすれば、$idのように変数も使え、配列にデータが収まりますので、いい感じにおさまってくれました。 これなら、$idを複数指定して分岐するときも、idを配列に入れて、そのうえでif文なども可能そうなので、 ちょっと試してみます。 もし、まだ何かよい書き方などありましたら、後学のためご教授いただけると嬉しく思います。 宜しくお願い致します。 増田 From m_nakamura @ bitvalue.com Thu May 20 21:31:39 2010 From: m_nakamura @ bitvalue.com (Mitsutoshi Nakamura) Date: Thu, 20 May 2010 21:31:39 +0900 Subject: [PHP-users 35195] Re: =?iso-2022-jp?b?GyRCQj88ITg1R1tOcyQrJGkkTiVHITwlP0NqPVAbKEI=?= =?iso-2022-jp?b?GyRCJEskRCQkJEYbKEI=?= In-Reply-To: <1572187587.28434541274351707113.JavaMail.root@mz-cb011p> References: <780448644.28389591274351086196.JavaMail.root@mz-cb011p> <1572187587.28434541274351707113.JavaMail.root@mz-cb011p> Message-ID: 中村@東京です。 > $filter = create_function('$ep_remark_data', 'return $ep_remark_data["ep_remark_flag"] == 9 > && $ep_remark_data[ep_user_id]==1234;'); > $filter_remark = array_filter($ep_remark_data, "filter"); > > ただ、$ep_remark_data[ep_user_id]==1234としているところで、1234ではなく、$idのように変数を > 使うとどうも目的の値が取れず、うまくいきません。 関数の中なので $id ではなく $GLOBALS['id'] という事かな。 検証してないので違ってたらすいません。 From macindows @ forest.ocn.ne.jp Thu May 20 23:48:51 2010 From: macindows @ forest.ocn.ne.jp (Masuda) Date: Thu, 20 May 2010 23:48:51 +0900 Subject: [PHP-users 35196] Re: =?iso-2022-jp?b?GyRCQj88ITg1R1tOcyQrJGkkTiVHITwlP0NqPVAbKEI=?= =?iso-2022-jp?b?GyRCJEskRCQkJEYbKEI=?= In-Reply-To: References: <780448644.28389591274351086196.JavaMail.root@mz-cb011p> <1572187587.28434541274351707113.JavaMail.root@mz-cb011p> Message-ID: <5BFE3293-1BC0-46DF-ABF7-692F8AAA4C56@forest.ocn.ne.jp> 中村 様, 増田です。早速のご返信ありがとうございます。 On 2010/05/20, at 21:31, Mitsutoshi Nakamura wrote: >> $filter = create_function('$ep_remark_data', 'return >> $ep_remark_data["ep_remark_flag"] == 9 >> && $ep_remark_data[ep_user_id]==1234;'); >> $filter_remark = array_filter($ep_remark_data, "filter"); >> >> ただ、$ep_remark_data[ep_user_id]==1234としているところ >> で、1234ではなく、$idのように変数を >> 使うとどうも目的の値が取れず、うまくいきません。 > > 関数の中なので $id ではなく $GLOBALS['id'] という > 事かな。 > 検証してないので違ってたらすいません。 一応foreachで動いてはいますが、検証も含めて試してみました。 foreachで動いてしまったこともあって、上のコードを消してしまい、 グローバル変数に直して、書き直したのですが、どうしても第2引数が ダメのようなエラーを返してしまいました。 そのため、今までエラーを出していなかった >> $ep_remark_data[ep_user_id]==1234;'); という形に戻したのですが、それでもエラーが変わらず、ちょっと埒が あかなくなりそうになったため、 とりあえず、foreachで完成させてしまうことにしました。 本来であれば検証して、こちらにご報告すべきなのですが、 そこまでできず本当に申し訳ないです。 増田 -- Masuda macindows @ forest.ocn.ne.jp From m_nakamura @ bitvalue.com Fri May 21 13:05:44 2010 From: m_nakamura @ bitvalue.com (Mitsutoshi Nakamura) Date: Fri, 21 May 2010 13:05:44 +0900 Subject: [PHP-users 35197] Re: =?iso-2022-jp?b?GyRCQj88ITg1R1tOcyQrJGkkTiVHITwlP0NqPVAbKEI=?= =?iso-2022-jp?b?GyRCJEskRCQkJEYbKEI=?= In-Reply-To: <5BFE3293-1BC0-46DF-ABF7-692F8AAA4C56@forest.ocn.ne.jp> References: <780448644.28389591274351086196.JavaMail.root@mz-cb011p> <1572187587.28434541274351707113.JavaMail.root@mz-cb011p> <5BFE3293-1BC0-46DF-ABF7-692F8AAA4C56@forest.ocn.ne.jp> Message-ID: 中村@東京です。 気になったので、テストしてみました。 --- CODE --- $a = array( array(1,1), array(2,2), array(9,9) ); $id = 9; $f = create_function('$v', 'return $v[0] == 9 && $v[1] == $GLOBALS["id"];'); print_r(array_filter($a, $f)); --- CODE --- こんな感じになるかと思いますよ。 From uto-s @ ymail.plala.or.jp Mon May 24 22:47:19 2010 From: uto-s @ ymail.plala.or.jp (kona) Date: Mon, 24 May 2010 22:47:19 +0900 Subject: [PHP-users 35198] =?iso-2022-jp?b?GyRCMFskSiRrGyhCREIbJEJGMTtOJE4bKEJTRUxFQ1Q=?= =?iso-2022-jp?b?GyRCSjgkSyREJCQkRhsoQg==?= Message-ID: いつもお世話になっております。konaと申します。 PHPで、1回のSQL発行で2つの異なるデータベース(Postgresと Oracle)から結果を得たいと考えております。  OS:CentOS 5.3  PHP:Ver 5.1.6  PostgreSQL:8.1.18  Oracle:9.2 例えば、受注情報がPostgresにあるとして、受注情報に含まれた 顧客番号を、Oracle(顧客情報DB)にある日本語の顧客名に置換えて 1回のSELECT文で抽出したいのです。 ※PostgresとOracleは別サーバです。DB接続はPEAR::DBを使っております。  ■Postgres側 DB構成 テーブル名:aaa -----------+---+  | order_no | int | -----------+---+ | prod_name |text | -----------+---+ | kazu | int | -----------+---+ | kokyaku_no | int | -----------+---+ ■Oracle側 DB構成 テーブル名:bbb -------------+----+  | kokyaku_no | int | -------------+----+ | kokyaku_name |text | -------------+----+  □得たい情報 ------------------------+----+  | テーブルaaa.order_no | int | ------------------------+----+ | テーブルaaa.prod_name |text | ------------------------+----+ | テーブルaaa.kazu | int | ------------------------+----+ | テーブルbbb.kokyaku_name | int | ------------------------+----+  ※テーブルaaaのkokyaku_noと、テーブルbbbのkokyaku_noで   紐付けます。 同じデータベース内で、異なるテーブルであれば問題なく可能と 思いますが、異なるデータベース同士の結合の実現方法が分からず 困っております。 どなたかアドバイス頂けますと助かります。 よろしくお願い致します。 From macindows @ forest.ocn.ne.jp Mon May 24 23:07:49 2010 From: macindows @ forest.ocn.ne.jp (Masuda) Date: Mon, 24 May 2010 23:07:49 +0900 Subject: [PHP-users 35199] Re: =?iso-2022-jp?b?GyRCQj88ITg1R1tOcyQrJGkkTiVHITwlP0NqPVAbKEI=?= =?iso-2022-jp?b?GyRCJEskRCQkJEYbKEI=?= In-Reply-To: References: <780448644.28389591274351086196.JavaMail.root@mz-cb011p> <1572187587.28434541274351707113.JavaMail.root@mz-cb011p> <5BFE3293-1BC0-46DF-ABF7-692F8AAA4C56@forest.ocn.ne.jp> Message-ID: 中村 様, 増田です。返信遅くなり申し訳ありません。 On 2010/05/21, at 13:05, Mitsutoshi Nakamura wrote: > 気になったので、テストしてみました。 > > --- CODE --- > $a = array( > array(1,1), > array(2,2), > array(9,9) > ); > $id = 9; > $f = create_function('$v', 'return $v[0] == 9 && $v[1] == $GLOBALS > ["id"];'); > print_r(array_filter($a, $f)); > --- CODE --- > > こんな感じになるかと思いますよ。 関数内だとやはりスコープの問題ですよね。 もう少ししたらある程度のデータの量でforeachと array_filterとの処理の差も 比べられると思いますので、何かわかればご連絡致します。 あとは、AかつBの場合に加えて、Cの場合も、 Dの場合もなど、 条件が増えていくと、どっちのスクリプトでも、 ifが増えていくだけであまりスマートな書き方ができなさそうなので、 もうちょっと試行錯誤してみます。 お忙しいなかありがとうございます。 増田 -- Masuda macindows @ forest.ocn.ne.jp From php-users @ itcom.jp Tue May 25 04:54:48 2010 From: php-users @ itcom.jp (php-users @ itcom.jp) Date: Tue, 25 May 2010 04:54:48 +0900 Subject: [PHP-users 35200] Re: =?iso-2022-jp?b?GyRCMFskSiRrGyhCREIbJEJGMTtOJE4bKEJTRUxFQ1Q=?= =?iso-2022-jp?b?GyRCSjgkSyREJCQkRhsoQg==?= In-Reply-To: References: Message-ID: おくです。 > 同じデータベース内で、異なるテーブルであれば問題なく可能と > 思いますが、異なるデータベース同士の結合の実現方法が分からず > 困っております。 http://www.oracle.co.jp/forum/message.jspa?messageID=3044168 が参考になるかと。 From uto-s @ ymail.plala.or.jp Tue May 25 07:57:27 2010 From: uto-s @ ymail.plala.or.jp (kona) Date: Tue, 25 May 2010 07:57:27 +0900 Subject: [PHP-users 35201] Re: =?iso-2022-jp?b?GyRCMFskSiRrGyhCREIbJEJGMTtOJE4bKEJTRUxFQ1Q=?= =?iso-2022-jp?b?GyRCSjgkSyREJCQkRhsoQg==?= References: Message-ID: おくさん。参考情報ありがとうございます。 説明不足でしたが、現状PHPからOracleへはoci関数を使って接続 しています。またPEAR::DBも使っています。 Oracleのクライアントは入れておりません。 Oracle Database Easy Data Managerは、Windowsのみ提供の様ですね。 Oracle Generic Connectivity は、Oracleのクライアントをインストール しないと利用できないものでしょうか? ご紹介頂いた情報は、Oracle→Postgresの様な感じがしましたが、 どちらかというと今回は、Postgres→Oracleになるのかな?と 思っています。 ----- Original Message ----- From: To: "PHP-users ML" Sent: Tuesday, May 25, 2010 4:54 AM Subject: [PHP-users 35200] Re:異なるDB同士のSELECT文について > おくです。 > >> 同じデータベース内で、異なるテーブルであれば問題なく可能と >> 思いますが、異なるデータベース同士の結合の実現方法が分からず >> 困っております。 > > http://www.oracle.co.jp/forum/message.jspa?messageID=3044168 > が参考になるかと。 >> いつもお世話になっております。konaと申します。 >> PHPで、1回のSQL発行で2つの異なるデータベース(Postgresと >> Oracle)から結果を得たいと考えております。 >> >>  OS:CentOS 5.3 >>  PHP:Ver 5.1.6 >>  PostgreSQL:8.1.18 >>  Oracle:9.2 >> >> 例えば、受注情報がPostgresにあるとして、受注情報に含まれた >> 顧客番号を、Oracle(顧客情報DB)にある日本語の顧客名に置換えて >> 1回のSELECT文で抽出したいのです。 >> ※PostgresとOracleは別サーバです。DB接続はPEAR::DBを使っております。 >> >>  ■Postgres側 DB構成 テーブル名:aaa >> -----------+---+ >>  | order_no | int | >> -----------+---+ >> | prod_name |text | >> -----------+---+ >> | kazu | int | >> -----------+---+ >> | kokyaku_no | int | >> -----------+---+ >> >> ■Oracle側 DB構成 テーブル名:bbb >> -------------+----+ >>  | kokyaku_no | int | >> -------------+----+ >> | kokyaku_name |text | >> -------------+----+ >> >>  □得たい情報 >> ------------------------+----+ >>  | テーブルaaa.order_no | int | >> ------------------------+----+ >> | テーブルaaa.prod_name |text | >> ------------------------+----+ >> | テーブルaaa.kazu | int | >> ------------------------+----+ >> | テーブルbbb.kokyaku_name | int | >> ------------------------+----+ >> >>  ※テーブルaaaのkokyaku_noと、テーブルbbbのkokyaku_noで >>   紐付けます。 >> >> 同じデータベース内で、異なるテーブルであれば問題なく可能と >> 思いますが、異なるデータベース同士の結合の実現方法が分からず >> 困っております。 >> どなたかアドバイス頂けますと助かります。 >> >> よろしくお願い致します。 > From php-users @ itcom.jp Tue May 25 09:58:23 2010 From: php-users @ itcom.jp (php-users @ itcom.jp) Date: Tue, 25 May 2010 09:58:23 +0900 Subject: [PHP-users 35202] Re: =?iso-2022-jp?b?GyRCMFskSiRrGyhCREIbJEJGMTtOJE4bKEJTRUxFQ1Q=?= =?iso-2022-jp?b?GyRCSjgkSyREJCQkRhsoQg==?= In-Reply-To: References: Message-ID: おくです。 こちらの方がわかりやすいでしょうか? http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19223-01/gencon.htm > 説明不足でしたが、現状PHPからOracleへはoci関数を使って接続 > しています。またPEAR::DBも使っています。 > Oracleのクライアントは入れておりません。 oracle が、odbc 経由で、外部のDBに接続するようですので、 oracle にどう接続するかは関係なさそうです。 > ご紹介頂いた情報は、Oracle→Postgresの様な感じがしましたが、 > どちらかというと今回は、Postgres→Oracleになるのかな?と > 思っています。 PostgresのDBlinkでは、 oracleに接続できるという情報が見当たりませんので、 Oracle→Postgresになるかな?と思います。 MySQLでいう、FEDERATEDや、SPIDERのようなイメージかと思いますので、 パフォーマンスの差はあるかも知れませんが、 実体がどちらにあっても同じですよね。 From masakun @ lily.ocn.ne.jp Tue May 25 10:13:33 2010 From: masakun @ lily.ocn.ne.jp (Masaaki Matsuyama) Date: Tue, 25 May 2010 10:13:33 +0900 Subject: [PHP-users 35203] Re: =?iso-2022-jp?b?GyRCMFskSiRrGyhCREIbJEJGMTtOJE4bKEJTRUxFQ1Q=?= =?iso-2022-jp?b?GyRCSjgkSyREJCQkRhsoQg==?= In-Reply-To: References: Message-ID: <20100525011333.2E87D3900BD@mv-osn-hcb004.ocn.ad.jp> まつやまです。 >どちらかというと今回は、Postgres→Oracleになるのかな?と >思っています。 素朴な疑問ですが、これってPHPの問題ですか? それよりも、PostgresのMLで聞いた方がいいような気がするのですが。 -- Masaaki Matsuyama From kwa @ kuwata-lab.com Wed May 26 16:33:36 2010 From: kwa @ kuwata-lab.com (Makoto Kuwata) Date: Wed, 26 May 2010 16:33:36 +0900 Subject: [PHP-users 35204] =?iso-2022-jp?b?GyRCOXBDTiEnQmgbKEI2GyRCMnMbKEIgUEhQGyRCJWYbKEI=?= =?iso-2022-jp?b?GyRCITwlNiROJD8kYSROGyhCUHl0aG9uICYgR29vZ2xlIEFw?= =?iso-2022-jp?b?cCBFbmdpbmUbJEJGfkxnOVY6QhsoQg==?= Message-ID: 桑田といいます。 6月6日(日)に、PHPユーザを対象とした Python & Google App Engine (GAE) 入門講座を開催します。GAEのチュートリアルを理解することをゴールとし、 それに必要なPythonの基礎知識を勉強します。 なお主にPHPユーザを対象としていますが、他のプログラミング言語の経験者 でも構いません。 参加登録は http://atnd.org/events/4781 でお願いします。 【日時】 ・2010-06-06(Sun) 10:00-22:00 【場所】 ・国立オリンピック記念青少年総合センター(センター棟302) ・東京都渋谷区代々木神園町3-1 ・http://nyc.niye.go.jp/facilities/d7.html 【内容】 ・Pythonの基礎からやや高度な内容までと、GAEのチュートリアル 【目標】 ・GAEのチュートリアルが理解できるようになること ・それに必要なだけのPython力を身につけること その他、詳しいことは http://atnd.org/events/4781 をご覧ください。 以上です。失礼いたしました。 -- regards, makoto kuwata From konno @ me-h.ne.jp Thu May 27 14:52:06 2010 From: konno @ me-h.ne.jp (sakon) Date: Wed, 26 May 2010 22:52:06 -0700 (PDT) Subject: [PHP-users 35205] =?utf-8?b?V0VC5LiK44GnbWRiMuOBrklOU0VSVOaWh+OCkuWun+ihjOOBmQ==?= =?utf-8?b?44KL44Go44CMTURCMiBFcnJvcjogdW5rbm93biBlcnJvcuOAjeOBjOOBpw==?= =?utf-8?b?44KL?= Message-ID: <28689806.post@talk.nabble.com> WEB上でPHPをソース1のINSERT文を実行するとエラーがでるが 同じソースを #php test.php で実行させると動作する。 また、ソース2でexecute文を使用しないで実行させるとWEB上でOKである。 何が原因かわからない、教えてほしい。 (1)環境 CentOS release 5.3 (Final) PHP 5.1.6 MDB2 2.5.0b2-beta MDB2_Driver_pgsql 1.5.0b2-beta (2)DB環境  POSTGRESQL 8.1 testdb=# \d sample_db Table "public.sample_db" Column | Type | Modifiers --------+-----------------------------+----------- aaa | smallint | bbb | text | ccc | timestamp without time zone | (3)ソース1:test.php 2,'portability'=>MDB2_PORTABILITY_ALL); $con =& MDB2::connect($dsn,$options); if(PEAR::isError($con)){ die($con->getMessage()); } //$con->setErrorHandling(PEAR_ERROR_CALLBACK,'_db_error_biling'); $this->db = $con; return $this; } } class test_db extends testdb{ protected $obj; function __construct($db_name){ $this->obj = parent::__construct($db_name); $this->obj->db->setFetchMode(MDB2_FETCHMODE_ASSOC); $this->obj->db->loadModule('Extended'); } function insert(){ $sql = "insert into sample_db (aaa,bbb,ccc) values (:v_aaa,:v_bbb,:v_ccc)"; $types = array('smallint','text','timestamp'); $sh =& $this->obj->db->prepare($sql,$types); $newdate=`date "+%Y/%m/%d %H:%M:%S"`; $newdate=substr($newdate,0,strlen($newdate)-1); $data = array('v_aaa'=>1,'v_bbb'=>'試験試験','v_ccc'=>$newdate); $ret=$sh->execute($data); return $ret; } } $DD=new test_db("testdb"); $ret=$DD->insert(); $mem=print_r($ret,true); $mem=str_replace("\n","
",$mem); print $mem; (4)ソース2 require_once("MDB2.php"); // エラーハンドラ function _db_error_biling(){ print('DBアクセスエラーが発生しました。管理者へ連絡してください'); exit; } class testdb { const DSN = "pgsql://password:password @ tcp(localhost:5432)/"; protected $db; // コンストラクタ function __construct($db_name){ $dsn = self::DSN . $db_name; $options = array('debug'=>2,'portability'=>MDB2_PORTABILITY_ALL); $con =& MDB2::connect($dsn,$options); if(PEAR::isError($con)){ die($con->getMessage()); } //$con->setErrorHandling(PEAR_ERROR_CALLBACK,'_db_error_biling'); $this->db = $con; return $this; } } class test_db extends testdb{ protected $obj; function __construct($db_name){ $this->obj = parent::__construct($db_name); $this->obj->db->setFetchMode(MDB2_FETCHMODE_ASSOC); $this->obj->db->loadModule('Extended'); } function insert(){ $newdate=`date "+%Y/%m/%d %H:%M:%S"`; $newdate=substr($newdate,0,strlen($newdate)-1); $sql = "insert into sample_db (aaa,bbb,ccc) values (1,'試験試験','$newdate')"; $ret=$this->db->exec($sql); return $ret; } } $DD=new test_db("testdb"); $ret=$DD->insert(); $mem=print_r($ret,true); $mem=str_replace("\n","
",$mem); print $mem; (5)エラーメッセージ MDB2_Error Object ( [error_message_prefix] => [mode] => 1 [level] => 1024 [code] => -1 [message] => MDB2 Error: unknown error [userinfo] => _doQuery: [Error message: Could not execute statement] [Last executed query: EXECUTE mdb2_statement_pgsql_1b12e0277a80ed84b13715840f8f89ad92b826666 (1, '試験試験', '2010/05/27 12:37:04')] [Native message: ] [backtrace] => Array ( [0] => Array ( [file] => /usr/share/pear/MDB2.php [line] => 1009 [function] => PEAR_Error [class] => PEAR_Error [type] => -> [args] => Array ( [0] => MDB2 Error: unknown error [1] => -1 [2] => 1 [3] => 1024 [4] => _doQuery: [Error message: Could not execute statement] [Last executed query: EXECUTE mdb2_statement_pgsql_1b12e0277a80ed84b13715840f8f89ad92b826666 (1, '試験試験', '2010/05/27 12:37:04')] [Native message: ] ) ) [1] => Array ( [file] => /usr/share/pear/PEAR.php [line] => 564 [function] => MDB2_Error [class] => MDB2_Error [object] => MDB2_Error Object ( [error_message_prefix] => [mode] => 1 [level] => 1024 [code] => -1 [message] => MDB2 Error: unknown error [userinfo] => _doQuery: [Error message: Could not execute statement] [Last executed query: EXECUTE mdb2_statement_pgsql_1b12e0277a80ed84b13715840f8f89ad92b826666 (1, '試験試験', '2010/05/27 12:37:04')] [Native message: ] [backtrace] => Array *RECURSION* [callback] => ) [type] => -> [args] => Array ( [0] => -1 [1] => 1 [2] => 1024 [3] => _doQuery: [Error message: Could not execute statement] [Last executed query: EXECUTE mdb2_statement_pgsql_1b12e0277a80ed84b13715840f8f89ad92b826666 (1, '試験試験', '2010/05/27 12:37:04')] [Native message: ] ) ) [2] => Array ( [file] => /usr/share/pear/MDB2.php [line] => 1497 [function] => raiseError [class] => PEAR [object] => MDB2_Driver_pgsql Object ( [string_quoting] => Array ( [start] => ' [end] => ' [escape] => ' [escape_pattern] => \ ) [identifier_quoting] => Array ( [start] => " [end] => " [escape] => " ) [db_index] => 1 [dsn] => Array ( [phptype] => pgsql [dbsyntax] => pgsql [username] => username [password] => password [protocol] => tcp [hostspec] => localhost [port] => 5432 [socket] => [database] => [mode] => ) [connected_dsn] => Array ( [phptype] => pgsql [dbsyntax] => pgsql [username] => username [password] => password [protocol] => tcp [hostspec] => localhost [port] => 5432 [socket] => [database] => [mode] => ) [connection] => Resource id #9 [opened_persistent] => [database_name] => sample_db [connected_database_name] => sample_db [connected_server_info] => [supported] => Array ( [sequences] => 1 [indexes] => 1 [affected_rows] => 1 [summary_functions] => 1 [order_by_text] => 1 [transactions] => 1 [savepoints] => 1 [current_id] => 1 [limit_queries] => 1 [LOBs] => 1 [replace] => emulated [sub_selects] => 1 [triggers] => 1 [auto_increment] => emulated [primary_key] => 1 [result_introspection] => 1 [prepared_statements] => 1 [identifier_quoting] => 1 [pattern_escaping] => 1 [new_link] => 1 ) [options] => Array ( [ssl] => [field_case] => 0 [disable_query] => [result_class] => MDB2_Result_%s [buffered_result_class] => MDB2_BufferedResult_%s [result_wrap_class] => [result_buffering] => 1 [fetch_class] => stdClass [persistent] => [debug] => 2 [debug_handler] => MDB2_defaultDebugOutput [debug_expanded_output] => [default_text_field_length] => 4096 [lob_buffer_length] => 8192 [log_line_break] => [idxname_format] => %s_idx [seqname_format] => %s_seq [savepoint_format] => MDB2_SAVEPOINT_%s [statement_format] => MDB2_STATEMENT_%1$s_%2$s [seqcol_name] => sequence [quote_identifier] => [use_transactions] => 1 [decimal_places] => 2 [portability] => 127 [modules] => Array ( [ex] => Extended [dt] => Datatype [mg] => Manager [rv] => Reverse [na] => Native [fc] => Function ) [emulate_prepared] => [datatype_map] => Array ( ) [datatype_map_callback] => Array ( ) [nativetype_map_callback] => Array ( ) [lob_allow_url_include] => [bindname_format] => (?:\d+)|(?:[a-zA-Z][a-zA-Z0-9_]*) [max_identifiers_length] => 63 [default_fk_action_onupdate] => RESTRICT [default_fk_action_ondelete] => RESTRICT [DBA_username] => [DBA_password] => [multi_query] => [disable_smart_seqname] => 1 ) [sql_comments] => Array ( [0] => Array ( [start] => -- [end] => [escape] => ) [1] => Array ( [start] => /* [end] => */ [escape] => ) ) [wildcards] => Array ( [0] => % [1] => _ ) [as_keyword] => AS [warnings] => Array ( ) [debug_output] => prepare(1): insert into sample_db (aaa,bbb,ccc) values (:v_aaa,:v_bbb,:v_ccc) execute(1): insert into sample_db (aaa,bbb,ccc) values ($1,$2,$3) query(1): EXECUTE mdb2_statement_pgsql_1b12e0277a80ed84b13715840f8f89ad92b826666 (1, '試験試験', '2010/05/27 12:37:04') [in_transaction] => [nested_transaction_counter] => [has_transaction_error] => [offset] => 0 [limit] => 0 [phptype] => pgsql [dbsyntax] => pgsql [last_query] => EXECUTE mdb2_statement_pgsql_1b12e0277a80ed84b13715840f8f89ad92b826666 (1, '試験試験', '2010/05/27 12:37:04') [fetchmode] => 2 [modules] => Array ( [Extended] => MDB2_Extended Object ( [db_index] => 1 ) [Datatype] => MDB2_Driver_Datatype_pgsql Object ( [valid_default_values] => Array ( [text] => [boolean] => 1 [integer] => 0 [decimal] => 0 [float] => 0 [timestamp] => 1970-01-01 00:00:00 [time] => 00:00:00 [date] => 1970-01-01 [clob] => [blob] => ) [lobs] => Array ( ) [db_index] => 1 ) ) [destructor_registered] => 1 [_debug] => [_default_error_mode] => [_default_error_options] => [_default_error_handler] => [_error_class] => PEAR_Error [_expected_errors] => Array ( ) [extended] => MDB2_Extended Object ( [db_index] => 1 ) [datatype] => MDB2_Driver_Datatype_pgsql Object ( [valid_default_values] => Array ( [text] => [boolean] => 1 [integer] => 0 [decimal] => 0 [float] => 0 [timestamp] => 1970-01-01 00:00:00 [time] => 00:00:00 [date] => 1970-01-01 [clob] => [blob] => ) [lobs] => Array ( ) [db_index] => 1 ) [loaded_version_modules] => Array ( [0] => datatype ) ) [type] => -> [args] => Array ( [0] => [1] => -1 [2] => [3] => [4] => _doQuery: [Error message: Could not execute statement] [Last executed query: EXECUTE mdb2_statement_pgsql_1b12e0277a80ed84b13715840f8f89ad92b826666 (1, '試験試験', '2010/05/27 12:37:04')] [Native message: ] [5] => MDB2_Error [6] => 1 ) ) [3] => Array ( [file] => /usr/share/pear/MDB2/Driver/pgsql.php [line] => 673 [function] => raiseError [class] => MDB2_Driver_Common [object] => MDB2_Driver_pgsql Object ( [string_quoting] => Array ( [start] => ' [end] => ' [escape] => ' [escape_pattern] => \ ) [identifier_quoting] => Array ( [start] => " [end] => " [escape] => " ) [db_index] => 1 [dsn] => Array ( [phptype] => pgsql [dbsyntax] => pgsql [username] => username [password] => password [protocol] => tcp [hostspec] => localhost [port] => 5432 [socket] => [database] => [mode] => ) [connected_dsn] => Array ( [phptype] => pgsql [dbsyntax] => pgsql [username] => username [password] => password [protocol] => tcp [hostspec] => localhost [port] => 5432 [socket] => [database] => [mode] => ) [connection] => Resource id #9 [opened_persistent] => [database_name] => sample_db [connected_database_name] => sample_db [connected_server_info] => [supported] => Array ( [sequences] => 1 [indexes] => 1 [affected_rows] => 1 [summary_functions] => 1 [order_by_text] => 1 [transactions] => 1 [savepoints] => 1 [current_id] => 1 [limit_queries] => 1 [LOBs] => 1 [replace] => emulated [sub_selects] => 1 [triggers] => 1 [auto_increment] => emulated [primary_key] => 1 [result_introspection] => 1 [prepared_statements] => 1 [identifier_quoting] => 1 [pattern_escaping] => 1 [new_link] => 1 ) [options] => Array ( [ssl] => [field_case] => 0 [disable_query] => [result_class] => MDB2_Result_%s [buffered_result_class] => MDB2_BufferedResult_%s [result_wrap_class] => [result_buffering] => 1 [fetch_class] => stdClass [persistent] => [debug] => 2 [debug_handler] => MDB2_defaultDebugOutput [debug_expanded_output] => [default_text_field_length] => 4096 [lob_buffer_length] => 8192 [log_line_break] => [idxname_format] => %s_idx [seqname_format] => %s_seq [savepoint_format] => MDB2_SAVEPOINT_%s [statement_format] => MDB2_STATEMENT_%1$s_%2$s [seqcol_name] => sequence [quote_identifier] => [use_transactions] => 1 [decimal_places] => 2 [portability] => 127 [modules] => Array ( [ex] => Extended [dt] => Datatype [mg] => Manager [rv] => Reverse [na] => Native [fc] => Function ) [emulate_prepared] => [datatype_map] => Array ( ) [datatype_map_callback] => Array ( ) [nativetype_map_callback] => Array ( ) [lob_allow_url_include] => [bindname_format] => (?:\d+)|(?:[a-zA-Z][a-zA-Z0-9_]*) [max_identifiers_length] => 63 [default_fk_action_onupdate] => RESTRICT [default_fk_action_ondelete] => RESTRICT [DBA_username] => [DBA_password] => [multi_query] => [disable_smart_seqname] => 1 ) [sql_comments] => Array ( [0] => Array ( [start] => -- [end] => [escape] => ) [1] => Array ( [start] => /* [end] => */ [escape] => ) ) [wildcards] => Array ( [0] => % [1] => _ ) [as_keyword] => AS [warnings] => Array ( ) [debug_output] => prepare(1): insert into sample_db (aaa,bbb,ccc) values (:v_aaa,:v_bbb,:v_ccc) execute(1): insert into sample_db (aaa,bbb,ccc) values ($1,$2,$3) query(1): EXECUTE mdb2_statement_pgsql_1b12e0277a80ed84b13715840f8f89ad92b826666 (1, '試験試験', '2010/05/27 12:37:04') [in_transaction] => [nested_transaction_counter] => [has_transaction_error] => [offset] => 0 [limit] => 0 [phptype] => pgsql [dbsyntax] => pgsql [last_query] => EXECUTE mdb2_statement_pgsql_1b12e0277a80ed84b13715840f8f89ad92b826666 (1, '試験試験', '2010/05/27 12:37:04') [fetchmode] => 2 [modules] => Array ( [Extended] => MDB2_Extended Object ( [db_index] => 1 ) [Datatype] => MDB2_Driver_Datatype_pgsql Object ( [valid_default_values] => Array ( [text] => [boolean] => 1 [integer] => 0 [decimal] => 0 [float] => 0 [timestamp] => 1970-01-01 00:00:00 [time] => 00:00:00 [date] => 1970-01-01 [clob] => [blob] => ) [lobs] => Array ( ) [db_index] => 1 ) ) [destructor_registered] => 1 [_debug] => [_default_error_mode] => [_default_error_options] => [_default_error_handler] => [_error_class] => PEAR_Error [_expected_errors] => Array ( ) [extended] => MDB2_Extended Object ( [db_index] => 1 ) [datatype] => MDB2_Driver_Datatype_pgsql Object ( [valid_default_values] => Array ( [text] => [boolean] => 1 [integer] => 0 [decimal] => 0 [float] => 0 [timestamp] => 1970-01-01 00:00:00 [time] => 00:00:00 [date] => 1970-01-01 [clob] => [blob] => ) [lobs] => Array ( ) [db_index] => 1 ) [loaded_version_modules] => Array ( [0] => datatype ) ) [type] => -> [args] => Array ( [0] => [1] => [2] => [3] => Could not execute statement [4] => _doQuery ) ) [4] => Array ( [file] => /usr/share/pear/MDB2/Driver/pgsql.php [line] => 1472 [function] => _doQuery [class] => MDB2_Driver_pgsql [object] => MDB2_Driver_pgsql Object ( [string_quoting] => Array ( [start] => ' [end] => ' [escape] => ' [escape_pattern] => \ ) [identifier_quoting] => Array ( [start] => " [end] => " [escape] => " ) [db_index] => 1 [dsn] => Array ( [phptype] => pgsql [dbsyntax] => pgsql [username] => username [password] => password [protocol] => tcp [hostspec] => localhost [port] => 5432 [socket] => [database] => [mode] => ) [connected_dsn] => Array ( [phptype] => pgsql [dbsyntax] => pgsql [username] => username [password] => password [protocol] => tcp [hostspec] => localhost [port] => 5432 [socket] => [database] => [mode] => ) [connection] => Resource id #9 [opened_persistent] => [database_name] => sample_db [connected_database_name] => sample_db [connected_server_info] => [supported] => Array ( [sequences] => 1 [indexes] => 1 [affected_rows] => 1 [summary_functions] => 1 [order_by_text] => 1 [transactions] => 1 [savepoints] => 1 [current_id] => 1 [limit_queries] => 1 [LOBs] => 1 [replace] => emulated [sub_selects] => 1 [triggers] => 1 [auto_increment] => emulated [primary_key] => 1 [result_introspection] => 1 [prepared_statements] => 1 [identifier_quoting] => 1 [pattern_escaping] => 1 [new_link] => 1 ) [options] => Array ( [ssl] => [field_case] => 0 [disable_query] => [result_class] => MDB2_Result_%s [buffered_result_class] => MDB2_BufferedResult_%s [result_wrap_class] => [result_buffering] => 1 [fetch_class] => stdClass [persistent] => [debug] => 2 [debug_handler] => MDB2_defaultDebugOutput [debug_expanded_output] => [default_text_field_length] => 4096 [lob_buffer_length] => 8192 [log_line_break] => [idxname_format] => %s_idx [seqname_format] => %s_seq [savepoint_format] => MDB2_SAVEPOINT_%s [statement_format] => MDB2_STATEMENT_%1$s_%2$s [seqcol_name] => sequence [quote_identifier] => [use_transactions] => 1 [decimal_places] => 2 [portability] => 127 [modules] => Array ( [ex] => Extended [dt] => Datatype [mg] => Manager [rv] => Reverse [na] => Native [fc] => Function ) [emulate_prepared] => [datatype_map] => Array ( ) [datatype_map_callback] => Array ( ) [nativetype_map_callback] => Array ( ) [lob_allow_url_include] => [bindname_format] => (?:\d+)|(?:[a-zA-Z][a-zA-Z0-9_]*) [max_identifiers_length] => 63 [default_fk_action_onupdate] => RESTRICT [default_fk_action_ondelete] => RESTRICT [DBA_username] => [DBA_password] => [multi_query] => [disable_smart_seqname] => 1 ) [sql_comments] => Array ( [0] => Array ( [start] => -- [end] => [escape] => ) [1] => Array ( [start] => /* [end] => */ [escape] => ) ) [wildcards] => Array ( [0] => % [1] => _ ) [as_keyword] => AS [warnings] => Array ( ) [debug_output] => prepare(1): insert into sample_db (aaa,bbb,ccc) values (:v_aaa,:v_bbb,:v_ccc) execute(1): insert into sample_db (aaa,bbb,ccc) values ($1,$2,$3) query(1): EXECUTE mdb2_statement_pgsql_1b12e0277a80ed84b13715840f8f89ad92b826666 (1, '試験試験', '2010/05/27 12:37:04') [in_transaction] => [nested_transaction_counter] => [has_transaction_error] => [offset] => 0 [limit] => 0 [phptype] => pgsql [dbsyntax] => pgsql [last_query] => EXECUTE mdb2_statement_pgsql_1b12e0277a80ed84b13715840f8f89ad92b826666 (1, '試験試験', '2010/05/27 12:37:04') [fetchmode] => 2 [modules] => Array ( [Extended] => MDB2_Extended Object ( [db_index] => 1 ) [Datatype] => MDB2_Driver_Datatype_pgsql Object ( [valid_default_values] => Array ( [text] => [boolean] => 1 [integer] => 0 [decimal] => 0 [float] => 0 [timestamp] => 1970-01-01 00:00:00 [time] => 00:00:00 [date] => 1970-01-01 [clob] => [blob] => ) [lobs] => Array ( ) [db_index] => 1 ) ) [destructor_registered] => 1 [_debug] => [_default_error_mode] => [_default_error_options] => [_default_error_handler] => [_error_class] => PEAR_Error [_expected_errors] => Array ( ) [extended] => MDB2_Extended Object ( [db_index] => 1 ) [datatype] => MDB2_Driver_Datatype_pgsql Object ( [valid_default_values] => Array ( [text] => [boolean] => 1 [integer] => 0 [decimal] => 0 [float] => 0 [timestamp] => 1970-01-01 00:00:00 [time] => 00:00:00 [date] => 1970-01-01 [clob] => [blob] => ) [lobs] => Array ( ) [db_index] => 1 ) [loaded_version_modules] => Array ( [0] => datatype ) ) [type] => -> [args] => Array ( [0] => EXECUTE mdb2_statement_pgsql_1b12e0277a80ed84b13715840f8f89ad92b826666 (1, '試験試験', '2010/05/27 12:37:04') [1] => [2] => Resource id #9 ) ) [5] => Array ( [file] => /usr/share/pear/MDB2.php [line] => 4152 [function] => _execute [class] => MDB2_Statement_pgsql [object] => MDB2_Statement_pgsql Object ( [db] => MDB2_Driver_pgsql Object ( [string_quoting] => Array ( [start] => ' [end] => ' [escape] => ' [escape_pattern] => \ ) [identifier_quoting] => Array ( [start] => " [end] => " [escape] => " ) [db_index] => 1 [dsn] => Array ( [phptype] => pgsql [dbsyntax] => pgsql [username] => username [password] => password [protocol] => tcp [hostspec] => localhost [port] => 5432 [socket] => [database] => [mode] => ) [connected_dsn] => Array ( [phptype] => pgsql [dbsyntax] => pgsql [username] => username [password] => password [protocol] => tcp [hostspec] => localhost [port] => 5432 [socket] => [database] => [mode] => ) [connection] => Resource id #9 [opened_persistent] => [database_name] => sample_db [connected_database_name] => sample_db [connected_server_info] => [supported] => Array ( [sequences] => 1 [indexes] => 1 [affected_rows] => 1 [summary_functions] => 1 [order_by_text] => 1 [transactions] => 1 [savepoints] => 1 [current_id] => 1 [limit_queries] => 1 [LOBs] => 1 [replace] => emulated [sub_selects] => 1 [triggers] => 1 [auto_increment] => emulated [primary_key] => 1 [result_introspection] => 1 [prepared_statements] => 1 [identifier_quoting] => 1 [pattern_escaping] => 1 [new_link] => 1 ) 以下略 -- View this message in context: http://old.nabble.com/WEB%E4%B8%8A%E3%81%A7mdb2%E3%81%AEINSERT%E6%96%87%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%A8%E3%80%8CMDB2-Error%3A-unknown-error%E3%80%8D%E3%81%8C%E3%81%A7%E3%82%8B-tp28689806p28689806.html Sent from the Php Japan - PHP-users mailing list archive at Nabble.com.