2011-12-19 3 views
1

を取得私は使用して私のSQLテーブルを検索:MYSQL - セレクタではなく、ALL

videos.category in ($categoriesSelected) 

私は、ユーザーが選択した内容に基づいてカテゴリを通過します。時には、ユーザーがカテゴリーを選択していないときに、すべてのビデオを表示したい場合は、$ categoriesSelected varを*に変更しようとしましたが、運はありません。

私はすべてを表示したいときに 'in'を取り出して別のクエリを実行する必要がありますか、またはすべてを表示するために$ categoriesSelectedを変更する方法はありますか?私はすべてのカテゴリの名前をプレフィルするだけではなく、CMSを介して常に変化することに注意してください。

答えて

1

クエリが動的に作成され、$categoriesSelected の値をエスケープしないと、videos.category IN (videos.category)を試すことができます。

注:これはダミーのハックであり、クエリを構築するコードのセクション全体を書き直す方がよいでしょう。はい、その後IN

0

あなたは何かが$ categoriesSelectedであるかどうかを確認するためのチェックを行う必要があります。

カテゴリを、カテゴリ名を格納するフィールド名に変更します。

0

せずにクエリを他に、あなたの実際のクエリを行う行う場合は、あなたの$ categoriesSelectedため'SELECT category FROM categories'に入れてみてください -

関連する問題