2011-11-21 79 views
2

如何确定$ _POST是否为空?我想根据是否提交ID来执行if/else,以确定记录是应该插入MySQL数据库还是更新。

我会用isset($_POST["ID"])吗?

+2

是的,使用'isset($ _ POST ['key'])''。你也可以使用'array_key_exists('key',$ _POST)',但'isset()'很简单易读。 –

+0

@Michael我想'isset()'是用来检查'$ _POST ['ID']'是否存在,而不是它是否有值? – RobFos

+0

@ Rawb92 true,你永远不应该为$ _POST值使用isset()。 –

回答

2

PHP中几个用于此。

为此目的,人们使用emptyisset。许多人使用这个,不考虑差异。

本文档中的示例清楚地显示了区别。

$var = 0; 

// Evaluates to true because $var is empty 
if (empty($var)) { 
    echo '$var is either 0, empty, or not set at all'; 
} 

// Evaluates as true because $var is set 
if (isset($var)) { 
    echo '$var is set even though it is empty'; 
} 

在这种特殊情况下,你应该使用,而不是isset,因为变量可以设置,但空。

-1

你需要使用空():

if (!empty($_POST["ID"])) { 
    //rest of code here 
} 
+0

你不应该在这里使用'empty',因为它会给诸如'“0”之类的值带来错误的否定。改用'isset'。 – shanethehat