0

2 つの値を持つラジオ ボタンがあります。0 と 1。ラジオ ボタンは、変数を使用して PHP に表示されます。$activity = ($_POST['activity'];

PHP のクエリは次のように設定されます。

"SELECT * FROM Orders WHERE activity = '$activity'";

これにより、アクティビティ列が「1」値に等しい行が制限されますが、「0」値では機能しません。代わりに、すべてのレコードが表示されます。

私が見逃しているアイデアはありますか?MySQL自体で試してみましたがSELECT * FROM Orders WHERE activity = '0'、うまくいきました。PHPコードで何が間違っているのかわかりません。

4

2 に答える 2

0

それをキャストしてintデータベースも保護するだけです(フィールドのデータ型は文字列などではありません):

if (isset($_POST['activity'])){
    $activity = (int) $_POST['activity'] ;
    "SELECT * FROM Orders WHERE activity = {$activity} ";
    //And more
} else {
    echo "Nothing posted" ;
}
于 2013-07-02T21:48:40.650 に答える
-2

「カラスに餌を与え、目をつぶす」というトルコのことわざがあります...

$activity = intval($_POST['activity']);
于 2013-07-02T21:50:41.013 に答える