如何在mysql语法中检查用户值是否为null?

时间:2014-01-14 06:59:40

标签: php mysql

如果用户发送AGE值为null,则不执行。如何在MySQL中正确编写

$result = mysqli_query("select * from ident where FirstName = '$first_name' && $age != '' && Age = $age");

6 个答案:

答案 0 :(得分:5)

您可以使用

    if(!empty($age)){
    //do sql operation
    }

如果您只想要特定年龄组,也可以添加约束。 例如:如果您希望年龄组在18到40之间

    if ($_POST["age"] < 18 || $_POST["age"] > 40){
     //print error message
    }
    else{
     //do sql operation
    }

答案 1 :(得分:0)

你的问题不是很清楚,所以我会提供PHP和&amp; MySQL的:

<强> mySQL的

使用IS NOT NULLReference

SELECT * FROM ident 
    WHERE FirstName = '$first_name' 
    AND Age IS NOT NULL 
    AND Age = $age

<强> PHP

使用empty()isset()Reference.

if(!empty($age)){
    //execute mySQL
}

答案 2 :(得分:0)

SELECT
    *
FROM
    `ident`
WHERE
    FirstName = '$first_name'
    && Age != ''
    && Age = $age
    && Age IS NOT NULL;

答案 3 :(得分:0)

if ($age !== null) {
$result = mysqli_query("select * from ident where FirstName = '$first_name' Age = $age");
//etc..
}

答案 4 :(得分:0)

在查询数据库之前,您应该在PHP页面上进行检查。

<?php
if(!empty($age)) {
    $result = mysqli_query("select * from ident where FirstName = '$first_name' AND Age = '$age'");
}
?>

答案 5 :(得分:0)

这应该在查询构建方面完成,如果未按预期满足某些值,您可能希望抛出异常

<强> PHP 使用is_null()方法或@Huey

所述
if(isset($age) and !is_null($age) and intval($age) > 0){
    $result = mysqli_query("SELECT * FROM ident WHERE FirstName = '$first_name' AND Age = $age");
}