检查空字段或插入所有内容?

时间:2014-04-12 14:17:03

标签: php mysql

什么是更好的表格数据处理系统?

(在这种情况下,将数据插入数据库时​​)。

  • 检查哪些文本字段已填写并仅插入这些字段。

  • 插入所有数据,甚至是文本字段中的空值。在这两种情况下,数据库值都为null,对吧?

我通常使用第一种方法,但在这种情况下,我有很多字段,并且真的不想编写代码来检查每一个。

2 个答案:

答案 0 :(得分:1)

顺便说一下,""不像NULL,""是空字符串,Null完全没有价值。

您可以通过循环数据集验证数据是否存在,并验证每个变量是否具有""然后在插入数据库之前变为NULL。

表单中的Text为NULL的唯一情况是,如果他不是表单,那么PHP会将其视为null。

最佳实践是找到一种以编程方式循环进入数据并执行所需的所有验证的方法,而不是编写每一段数据。

$safe_array = array();

foreach($data as $i => $v) {
    if($v=="") {
        $safe_array[$i] = null;
    }
    else if (custom_filter($v)) {
        $safe_array[$i] = null;
    } else {
        $safe_array[$i] = $v;
    }
  }

答案 1 :(得分:0)

无论如何你必须检查它们,对吗?你怎么知道他们是否应该被插入?

或者你的意思是某些字段完全没有被表单使用,所以它们总是为空?在这种情况下,您不需要将它们包含在插入语句中。