我应该在PHP中检查变量是否为NULL?

时间:2015-12-24 15:31:26

标签: php mysql null

我有这样的查询:

INSERT INTO table(type) values($type);

我从GET方法的参数中得到$type。像这样:

$type = $_GET['type'];

如您所知,如果$_GET['type']不可用,则该查询将设置NULL而不是$type

现在我想知道,我应该这样检查吗?

$type = isset($_GET['type']) ? $_GET['type'] : null;

或那种情况没用?

4 个答案:

答案 0 :(得分:0)

如果接受空值并且可以安全地使用它进行输入,则无需检查空值。

显然,如果在程序的其他地方不接受null,那么你需要验证它并将字段设置为不接受它。在这种情况下,我将按照您的要求进行验证,并仅在数据库接受该值时继续执行数据库条目。

答案 1 :(得分:0)

if(!empty($_GET['type'])) 
{ $type = $_GET['type'] 
}

这应该照顾你的问题:)。

答案 2 :(得分:0)

始终需要在输入SQL查询之前检查变量是否存在或有效

if ( ! isset($_GET['type'])) {
   die('no value given');
}

$secured_type = mysqli_escape_string($_GET['type']); // SQL Injection secure

INSERT INTO table(type) values($secured_type);

答案 3 :(得分:0)

<?php
   $type = '';
 if(!empty($_GET['type'])) 
    { 
          $type = $_GET['type'] 
    }
?>