JSON / PHP数组到MYSQL插入[关闭]

Posted

技术标签:

【中文标题】JSON / PHP数组到MYSQL插入[关闭]【英文标题】:JSON/PHP Array to MYSQL insert [closed] 【发布时间】:2013-02-26 07:30:30 【问题描述】:

我有一个 JSON 数组,我将其转换为 php 数组,从而生成一系列 ID,例如:

   Array
   (
      [0] => 2343
      [1] => 4345
      [2] => 4432
      [3] => 3456
   )

我想将这些图像 ID 插入到具有公共画廊 ID 的数据库中 - 如果我要单独编写每个查询,结果如下:

$query1 = "INSERT INTO gallery_media (media_id, gallery_id) VALUES ('2343', '1')";
$query2 = "INSERT INTO gallery_media (media_id, gallery_id) VALUES ('4345', '1')";
$query3 = "INSERT INTO gallery_media (media_id, gallery_id) VALUES ('4432', '1')";
$query4 = "INSERT INTO gallery_media (media_id, gallery_id) VALUES ('3456', '1')";

我如何以某种方式循环它以使其尽可能简单高效?任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

试试这个

$sql = "INSERT INTO gallery_media (media_id, gallery_id) VALUES ";
foreach($ids as $id) 
    $sql .= "('$id', '1'),";

$sql = rtrim($sql,",");

【讨论】:

我花了一段时间才弄清楚你在这里做什么 - 但它的作用就像一个魅力,而且简单。谢谢,nauphal。【参考方案2】:

是时候使用准备好的语句了!

$pdo = new \PDO('...');
$sth = $pdo->prepare("INSERT INTO gallery_media (media_id, gallery_id) VALUES (?, '1')");
foreach ($data_array as $value)
    $sth->execute(array($value));

【讨论】:

【参考方案3】:

只需遍历数组。例如:

 foreach ($your_array as $item)
     $query = sprintf("INSERT INTO gallery_media (media_id, gallery_id) VALUES (%d,1)",$item);
     //Now execute query
 

【讨论】:

【参考方案4】:

简单

foreach ($id_array as $id) 
  $query = "INSERT INTO gallery_media (media_id, gallery_id) VALUES ('$id', '1')";
  // execute your query

【讨论】:

【参考方案5】:

试试这个:

foreach( (array) $data_arr as $key => $value )

$query = "INSERT INTO gallery_media (media_id, gallery_id) VALUES ('$value', '1')";

【讨论】:

【参考方案6】:

我认为最短的方法是使用 implode func 一次创建整个查询。试试这样的:$query = "INSERT INTO gallery_media (media_id, gallery_id) VALUES ('".implode("','1'),",$vals_array)."')";

【讨论】:

以上是关于JSON / PHP数组到MYSQL插入[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

将php数组插入mysql

使用 php 在 5 秒内将数据保存到 MySQL [关闭]

解码 Json 数据数组并插入到 mysql

如何将json数组插入mysql数据库

从 iOS 获取我的 JSON 以发布到我的 php 文件并插入到 mySQL 时遇到问题

使用 php 将 JSON 中的数据插入 mysql