我有这样的查询:
INSERT INTO table(type) values($type);
我从GET方法的参数中得到$type
。像这样:
$type = $_GET['type'];
如您所知,如果$_GET['type']
不可用,则该查询将设置NULL
而不是$type
。
现在我想知道,我应该这样检查吗?
$type = isset($_GET['type']) ? $_GET['type'] : null;
或那种情况没用?
答案 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']
}
?>