我应该在PHP中检查一个变量是否为NULL吗


Should I check a variable for NULL in PHP?

我有一个这样的查询:

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

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

$type = $_GET['type'];

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


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

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

或者那个条件没用?

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

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

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

这应该能解决你的问题:)。

在进入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);
<?php
   $type = '';
 if(!empty($_GET['type'])) 
    { 
          $type = $_GET['type'] 
    }
?>