0

我有以下数组...

Array
(
    [ID] => 10
    [code] => KA
    [rol] => B
    [pr] => 
)

我想要的是当我将所有填充为 NULL 的空数组键插入 MySQL 时......

这是我尝试过的...

foreach ($array as $key => $value) {
    $value = trim($value);
    if (empty($value))
        $value .= NULL;

    else
        echo $value;
    } 

或以不同的方式...像这样..

$value = implode("', '",array_values($array));
$val = ($value == ' ') ? NULL : "$value";

并插入表..

$sql = "INSERT INTO table VALUES('$val')";

但似乎我没有在我的字段中获得 NULL 值......我做错了什么?

简而言之,如何将 Null 添加到空数组键...[pr]???

4

2 回答 2

1

你可以这样做:

$sql = array();
foreach ($array as $key => $value) {
    $value = trim($value);
    $sql[] = empty($value)?'NULL':"'".addslashes($value)."'";
}
$sql = 'INSERT INTO table VALUES('.implode(",", $sql).')';

回声$值;如果您想将其用作查询,它​​将无济于事。

但是:不要这样做!请改用准备好的语句。

示例: http ://codepad.org/lZfgVwIL

于 2013-09-11T14:42:32.940 回答
1

我认为您应该使用双引号'NULL''null'代替NULL.

$val = ($value == ' ') ? 'NULL' : $value;
于 2013-09-11T14:53:55.597 回答