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 在 5 秒内将数据保存到 MySQL [关闭]