[pgsql-jp: 25194] Re: カンマとバックスラッシュ

hitoshi9 @ ad.il24.net hitoshi9 @ ad.il24.net
2002年 3月 9日 (土) 23:08:50 JST


お世話になります。

三村さん、ありがとうございます。

及川です。

mimu> PostgreSQLのparserが勝手に,の前に\を付けるとは思えません。

そうですね。

mimu> phpからqueryを発行しているのなら、その文字列処理をしている所
mimu> に何か問題があるんじゃないですかね。

問題があるとすれば、FORM からカンマ ' や \ を POST したときに、
例えば、次セッションで DB にインサートしたいなら、その前にバック
スラッシュが追加されてるところを、処理してないということですね。

たとえば、

   \' から ' へ
   \\\\ から \\ へ

というぐあいに、
この処理を行うべき、ということを知りませんでした。
レコード前にすべての文字に対して処理をするように心掛けたいとおも
います。

また、こちらの ML に関係ない話になってしまいましたことをお詫び申
し上げます。

ありがとうございました。

 -----------------------------------
  oikawa  hitoshi9 @ ad.il24.net


----
From: Shigeki Mimura <mimu @ telepass.co.jp>
Subject: [pgsql-jp: 25176] Re: カンマとバックスラッシュ
Date: Sat, 09 Mar 2002 16:35:18 +0900 (JST)
Message-ID: <20020309.163518.28813766.mimu @ telepass.co.jp>

mimu> 三村です。
mimu> 
mimu> hitoshi9> FreeBSD 4.4-RELEASE 上で、
mimu> hitoshi9> apache-1.3.20
mimu> hitoshi9> mod_php4-4.0.6_4
mimu> hitoshi9> postgresql-7.1.3
mimu> hitoshi9> の構成でサーバを運用しておりますが、DB TABLE のフィールドがオーバー
mimu> hitoshi9> フローする現象が発生しております。
mimu> hitoshi9> 原因は、半角のカンマが原因でレコード時にカンマの前にバックスラッシュ
mimu> 
mimu> このレコード時ってのは、何をする時ですか?
mimu> 
mimu> hitoshi9> を挿入されます。レコードが更新される度にバックスラッシュの量は倍に
mimu> hitoshi9> なり最後には、
mimu> hitoshi9> 
mimu> hitoshi9> ERROR:  copy: line 1906, Tuple is too big: size 64916, max size
mimu> hitoshi9> 8140 PQendcopy: resetting connection
mimu> hitoshi9> 
mimu> hitoshi9> というようなエラーになります。
mimu> hitoshi9> 
mimu> hitoshi9> 根本の解決方法と、
mimu> hitoshi9> あと、増えすぎたバックスラッシュの一括削除方法等教えてくださると助
mimu> hitoshi9> かります。
mimu> 
mimu> 根本的と言ってもこれだけじゃ分からないかも。
mimu> インタラクティブでもファイルからでもpsqlを使ってる限りはこういう事は
mimu> 起こらないはずです。
mimu> phpからqueryする場合でもそうです。
mimu> PostgreSQLのparserが勝手に,の前に\を付けるとは思えません。
mimu> phpからqueryを発行しているのなら、その文字列処理をしている所に何か問題が
mimu> あるんじゃないですかね。
mimu> 



pgsql-jp メーリングリストの案内