PHP / MYSQL:检查变量是否为空

时间:2012-05-18 02:51:15

标签: php mysql isset

我想阻止空值进入MySQL数据库

我正在使用以下内容,但出于某种原因,它让空值通过......

if (trim($var)= '' || !isset($var)){
header("Location:page.php?er=novariablel");
}
else {
...insert into database
}

注意,有很多复杂的东西设置了var的值,这就是为什么我想同时拥有=''!isset的原因,因为可能是这种情况。

我是否遗漏了带有or语句的内容,即如果两者都为真则评估为false。或者我做错了什么?

6 个答案:

答案 0 :(得分:4)

=声明中的Equal Comparison Operator内缺少if。尝试:

if (trim($var) == '' || !isset($var)){

答案 1 :(得分:2)

尝试:

if (!isset($var) || empty(trim($var))){

empty()是检查变量是否没有值的更好方法。请记住,以下内容将返回true:

以下内容被认为是空的:

  • “”(空字符串)
  • 0(0为整数)
  • 0.0(0作为浮动)
  • “0”(0作为字符串)
  • NULL
  • FALSE
  • array()(空数组)
  • var $ var; (声明的变量,但在类中没有值)

答案 2 :(得分:0)

尝试:

$var = trim($var);
if (!empty($var)){
  //not empty
}

答案 3 :(得分:0)

尝试

if (strlen(trim($var)))==0

答案 4 :(得分:0)

您还应该在数据库表属性中设置一个约束,它不接受NULL值。那么您的输入将不会在数据库中进行。

答案 5 :(得分:0)

@John这是一个很好的建议。

empty(trim($var))

我已经编程了6年,在检查它是否为空之前我从没想过修剪变量。