阻止MySQL使用空字符串更新列


Prevent MySQL from updating column with empty string?

发现这个答案很有用,但我有大约100个输入需要更新。

我现在有这个代码来清理值:

foreach($_POST as $key => $value) {
$data[$key] = filter($value);}

我可以将上面链接中的答案添加到此代码中以影响所有100个输入吗?或者我会被迫在每个输入上添加IF子句吗。

谢谢。

$update_arr = array();
foreach ($_POST as $key => $value)
{
    if (strlen($value) !== 0)
    {
        $update_arr[] = $key.' = "'.filter($value).'"';
    }
}
$update_string = implode(',',$update_arr);
$table = '';
$where = '';
$format = "UPDATE %s SET %s WHERE %s";
$sql = sprintf($format,$table,$update_string,$where);