在mysql中插入null,如果在php中字符串在explode后为空

wi3ka0sx  于 2021-08-25  发布在  Mysql
关注(0)|答案(1)|浏览(389)

在脚本中,我收到一个带有get请求的变量值,我必须用分隔符将其分解,但有时字符串的一部分是空的。如果字符串为空,如何在insert查询中声明insert null?

$statement = $db->prepare('insert into _table (column1, column2, etc.) values (?, ?, etc.)
if (isset($_GET['var']) || isset($_GET['var1'])) { 
$pieces=explode("delimeter", $var);
// $data = array($somevar, $someothervar, $pieces[0], pieces[1], etc.);
} else {
// other things to do with // $data = array($somevar, $someothervar, etc.);
}
$statement->execute($data);

有时,$pieces[0]、$pieces[1]等的值是“”(不包括引号,仅供参考),或者说是空的。如果任何分解的片段为空,如何使其在数据库中插入null?真的不知道在哪里和如何申报!因为isset,空头支票。当前代码在表行中输入空格,而不是为空的分解块输入null。请注意,爆炸的碎片并不总是空的,有时不是全部都是空的,有时全部都是空的。视情况而定。:)

bksxznpy

bksxznpy1#

这应该能回答你的问题。
只需设置要插入的值即可 NULLnull 例如 $someVar = null; 在您的示例中,您可能需要检查数组中是否有任何值是空字符串,并用 null ```
foreach ($data as $key => $value) {
if $value === "" {
$data[$key] = null;
}
}

相关问题