0

私の Web サイトにはうまく機能する検索ボックスがありますが、テーブル内の複数のフィールドを検索したいと考えています。たとえば、テキスト 1、テキスト 2、テキスト 3 というラベルの付いたテキストのテーブルに 3 つのセクションがあります。次のコードは、1 つのフィールドを検索する場合に機能しますが、3 つすべてを検索するわけではありません。

        $sqlcommand = "SELECT id, page_title, url, text1, text2, text3 FROM pages WHERE text1 LIKE '%$searchquery%'";

に変更してみました。

        $sqlcommand = "SELECT id, page_title, url, text1, text2, text3 FROM pages WHERE text1, text2, text3 LIKE '%$searchquery%'";

しかし、それでは結果が得られません。

        $sqlcommand = "SELECT id, page_title, url, text1, text2, text3 FROM pages WHERE (text1, text2, text3) LIKE '%$searchquery%'";

他の誰かが提案しましたが、エラーが発生しました。

感謝して受け取った助け。

リチャード

4

3 に答える 3

0

テーブル内の複数の列を検索するには、次のように、演算子 AND で区切られた WHERE 句で参照されているすべての列があることを確認してください。

ID、page_title、url、text1、text2、text3 を選択
FROM ページ
WHERE text1 LIKE '%searchfield1%'
    AND text2 LIKE '%searchfield2%'
    AND text3 LIKE '%searchfield3%'

もちろん、おそらく次のように、このクエリを php 形式のスクリプト内に配置する必要があります。

$sqlcommand = "......"; あなたの質問のように。

または、まったく同じ入力フィールドで 3 つの列すべてを検索する場合は、次を使用できます。

ID、page_title、url、text1、text2、text3 を選択
FROM ページ
WHERE text1 LIKE '%searchquery%'
    AND text2 LIKE '%searchquery%'
    AND text3 LIKE '%searchquery%'
于 2013-08-30T21:13:47.440 に答える