Querying MySQL in PHP with a '0' value


Querying MySQL in PHP with a '0' value

我有一个单选按钮,它有两个值;0和1。单选按钮在PHP中使用变量$activity = ($_POST['activity'];

PHP中的查询设置为:

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

这限制了活动列等于"1"值的行,但不适用于"0"值。相反,它会调出所有记录。

你知道我错过了什么吗?我已经在MySQL中尝试过SELECT * FROM Orders WHERE activity = '0',它运行得很好,所以我不确定我在PHP代码中做错了什么。

只需将其转换为int并保护您的数据库(字段数据类型不是字符串左右):

if (isset($_POST['activity'])){
    $activity = (int) $_POST['activity'] ;
    "SELECT * FROM Orders WHERE activity = {$activity} ";
    //And more
} else {
    echo "Nothing posted" ;
}

土耳其有句谚语说"喂乌鸦,打眼睛"。。。

$activity = intval($_POST['activity']);