MySQLでLIKE検索の値にフィールドの値をセットすると結果0になってしまう - PHPプロ!Q&A掲示板
2473
- 0P
- 0P
MySQLでLIKE検索の値にフィールドの値をセットすると結果0になってしまう
質問日時 / 2010年1月22日 13:00 (最終編集:1月22日 13:11) 回答数 / 4件
Questioner: minak83
Tweet
LIKE の 値の部分に
1.table2.port をセットすると結果は0件になってしまいます。
2.直接値(例えば%10%)を書けば結果は正しく得られます。
3. 変数$dataをセットをすると結果は正しく得られます。
フィールド値をセットすることはできないのでしょうか?
SELECT * FROM table1 INNER JOIN tabel2 (省略) WHERE table1.id=$test AND (table1.msg like '%Port:str_pad(table2.port ,2," ",STR_PAD_LEFT)%' OR table1.msg like '%/tabel2.port$')";
よろしくお願い致します。





ページのトップへ


kende様のご指摘通り、三項演算子を使用する際には、コードの複雑度などを考慮する必要がありますね。書きやすさと共に可読性も追求したいところですね。