从php文件中插入mysql数据库中的JSON数组

时间:2013-10-17 14:09:01

标签: php mysql json

你好,我有一个像这样的JSon数组

   Array
  (
    [NTAy] => ALFA ROMEO
    [NTA0] => AUDI
    [NTEx] => BMW
    [NjAy] => CHEVROLET
    [NTEz] => CHRYSLER
    [NTE0] => CITROËN
    [NjAz] => DACIA
    [NjQ5] => DAEWOO
    [NTE3] => DAIHATSU
  )

我必须逐行将它插入数据库中,我使用

foreach ($mata as $marca_id => $marca_name){
    $line = $line. "','" . $marca_id . "','". $marca_name . "','". $marca_name;
}
$line = substr($line, 0, strlen($line)-1);
$values[$i] = $line;
++$i;

$values =implode ( $values);
echo $values;
echo "<br />";

但是在mysql插入

$data = mysql_query(" INSERT INTO jos_virtuemart_categories_ro_ro (virtuemart_category_id, category_name, slug) 
VALUES " .$values)

我收到错误,无法让它发挥作用。有人能帮帮我吗?

2 个答案:

答案 0 :(得分:1)

foreach ($mata as $marca_id => $marca_name) {
    $id = intval($marca_id);
    $name = mysql_real_escape_string($marca_name);
    $values = "$id, '$name', '$name'";
    mysql_query("INSERT INTO jos_virtuemart_categories_ro_ro (virtuemart_category_id, category_name, slug) VALUES ($values)");
}

答案 1 :(得分:0)

为什么不使用准备好的陈述?特别是如果您正在获取用户生成的数据并将其输入数据库。

那看起来你最终的SQL查询看起来像这样

INSERT INTO jos_virtuemart_categories_ro_ro (virtuemart_category_id, category_name, slug) 
VALUES 'NTAy','ALFA ROMEO','ALFA ROMEO','NTA0','AUDI','AUDI' etc

您必须将其分解为多个查询