Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从php文件在mysql数据库中插入JSON数组_Php_Mysql_Json - Fatal编程技术网

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

从php文件在mysql数据库中插入JSON数组,php,mysql,json,Php,Mysql,Json,你好,我有一个像这样的JSon数组 Array ( [NTAy] => ALFA ROMEO [NTA0] => AUDI [NTEx] => BMW [NjAy] => CHEVROLET [NTEz] => CHRYSLER [NTE0] => CITROËN [NjAz] => DACIA [NjQ5] => DAEWOO [NTE3] => DAIHAT

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

   Array
  (
    [NTAy] => ALFA ROMEO
    [NTA0] => AUDI
    [NTEx] => BMW
    [NjAy] => CHEVROLET
    [NTEz] => CHRYSLER
    [NTE0] => CITROËN
    [NjAz] => DACIA
    [NjQ5] => DAEWOO
    [NTE3] => DAIHATSU
  )
INSERT INTO jos_virtuemart_categories_ro_ro (virtuemart_category_id, category_name, slug) 
VALUES 'NTAy','ALFA ROMEO','ALFA ROMEO','NTA0','AUDI','AUDI' etc
我必须把它一行一行地插入数据库,我使用

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 />";

我遇到了一个错误,无法让它工作。有人能帮我吗?

为什么不使用事先准备好的语句?尤其是当您获取用户生成的数据并将其输入数据库时

看起来您的最终SQL查询将如下所示

   Array
  (
    [NTAy] => ALFA ROMEO
    [NTA0] => AUDI
    [NTEx] => BMW
    [NjAy] => CHEVROLET
    [NTEz] => CHRYSLER
    [NTE0] => CITROËN
    [NjAz] => DACIA
    [NjQ5] => DAEWOO
    [NTE3] => DAIHATSU
  )
INSERT INTO jos_virtuemart_categories_ro_ro (virtuemart_category_id, category_name, slug) 
VALUES 'NTAy','ALFA ROMEO','ALFA ROMEO','NTA0','AUDI','AUDI' etc

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

为什么不使用准备好的语句?尤其是当您获取用户生成的数据并将其输入数据库时

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)");
}
看起来您的最终SQL查询将如下所示

   Array
  (
    [NTAy] => ALFA ROMEO
    [NTA0] => AUDI
    [NTEx] => BMW
    [NjAy] => CHEVROLET
    [NTEz] => CHRYSLER
    [NTE0] => CITROËN
    [NjAz] => DACIA
    [NjQ5] => DAEWOO
    [NTE3] => DAIHATSU
  )
INSERT INTO jos_virtuemart_categories_ro_ro (virtuemart_category_id, category_name, slug) 
VALUES 'NTAy','ALFA ROMEO','ALFA ROMEO','NTA0','AUDI','AUDI' etc

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

foreach
循环之外,
$i
在做什么?您希望查询是什么?@AmalMurali我认为OP对INSERT语句和循环的工作方式没有正确的理解。
$I
foreach
循环之外做了什么?您希望查询是什么?@AmalMurali我认为OP对INSERT语句和循环的工作方式没有正确的理解。
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)");
}