[PHP-users 30856] Re: (再掲)PHPからデータベースへのデータ格納時の処理について

yusuke ito ito.ysk @ gmail.com
2006年 12月 2日 (土) 10:39:11 JST


伊東です。

06/12/02 に A syokora<iacta_alea-est @ hotmail.co.jp> さんは書きました:
> レコードとレコードの差分をとって統合ではなく、一致している要素があったら、
> レコードの挿入をやめ、一致している要素がなかったらINSERTという方針に変えました。
> それで、お示しいただいたコードをもとにこのようにしてみました。
> しかし、一致している要素があるのにINSERTしてしまいます。

>                         $select= <<<EOM
> SELECT * FROM thesaurus  WHERE word ='{$arrValue[nkey2]}' OR dougigo1=
> '{$arrValue[nkey2]}' OR dougigo2= '{$arrValue[nkey2]}' OR dougigo3=
> '{$arrValue[nkey2]}' OR dougigo4= '{$arrValue[nkey2]}' OR  dougigo5=
> '{$arrValue[nkey2]}' OR dougigo6='{$arrValue[nkey2]}';
> EOM;
>         if(sqlite_query($db,$select)) //重複した値の検索
>         {

ここでqueryの結果を出力するところから調査してくださいよ。
本当に期待した結果が返ってますか?

比較してる両方に空白とか入ってて一致してるとかいう落ちじゃないですか?

あと、sqlite_escape_string()とかしなくていいんですか?


PHP-users メーリングリストの案内