0

get変数に基づいてクエリを作成しようとしています。変数を使用して、クエリが検索する行を指定します。get変数が設定されていない場合、クエリですべての行を取得する必要があります。

コードの前半で、$category変数を1,2,3のいずれかに設定しました。

WHERE products.category = $category

質問:変数が設定されていない場合、どうすればすべての行を取得できますか?

4

6 に答える 6

1

where句を追加しないでください。

WHERE products.category in (1,2,3)
于 2012-07-11T11:17:19.497 に答える
1

あなたができる最善のことは次のとおりです。

$wc = (isset($category)) ? "WHERE products.category = '$category'" : "";
$sql = "SELECT *
       FROM products
       " . $wc;
于 2012-07-11T11:22:28.807 に答える
0

WHERE変数に値がない場合は、句を省略してください。

于 2012-07-11T11:17:00.767 に答える
0

または

$categoryが設定されているかどうかを確認してください

products.category =$categoryを使用します

それ以外の場合1

したがって、結果は次のいずれかになります

WHERE products.category = $ category

また

ここで1

于 2012-07-11T11:18:37.407 に答える
0

理想的には、条件付きで where ステートメントを追加します (1,2,3 カテゴリのみが存在する場合) が、カテゴリ ID が固定されている場合は、使用してみることができます。

if (!isset($category))
{
    $category = "1,2,3";
}

WHERE products.category in ($category)
于 2012-07-11T11:35:40.620 に答える