关联数组插入到Mysql

时间:2013-09-11 14:33:01

标签: php mysql arrays

我有以下数组...

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

我想要的是当我向MySQL插入所有填充了NULL的空数组键...

这是我试过的......

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] ???

2 个答案:

答案 0 :(得分:1)

你可以这样做:

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

echo $ value;如果您想将其用作查询,则无法帮助您。

但: 不要这样做! 请改用预备语句。

实施例: http://codepad.org/lZfgVwIL

答案 1 :(得分:1)

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

$val = ($value == ' ') ? 'NULL' : $value;