php - 一次将数组mysql插入数据库

标签 php mysql mysqli

大家好,我有一个变量 $document_ids=1,2,4,5,8,99,102,我需要将它们分别插入到我的数据库表中,例如

$shaeredata=mysqli_query
($conn,"insert into docs (dcid,pid) values 
('$dcid','$pid'),('$dcid2','$pid'),('$dcid3','$pid'),('$dcid4','$pid')");
//dcid is each id from the variable $document_ids=1,1022,4,5,8,99,102  
//$dcid=1,dcid2=1022,$dcid3=4 ...... pid is same for all

问题是我如何将值放入数据库,因为我不知道 document_id 会在那里,它可以用逗号分隔。

$document_id=Array
(
[0] => 1
[1] => 4
[2] => 5
[3] => 999
[4] => 6
[5] => 7
[6] => 8
) // i have converted it to an array all of these are $dcid $pid=23 for all

最佳答案

我假设您的真正意思是$document_ids array(1,2,4,5,8,99,102)。如果是字符串,可以使用explode`将其拆分为数组。

您可以创建一个包含所有值对的数组,然后使用 implode 将它们用逗号连接起来。

$values = implode(',', array_map(function($dcid) use ($pid) {
    return "('$dcid', '$pid')";
}, $document_ids);
$sql = "INSERT INTO docs (dcid, pid) VALUES $values";
mysqli_query($conn, $sql);

关于php - 一次将数组mysql插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31798809/

相关文章:

php - Symfony2 表单在提交时尝试连接到数据库

javascript - jQuery 整个页面正在重新加载以更新 css

php - 代表论坛网站泛化案例的最佳方法是什么

php - 配置 Facebook 点赞按钮

php - 如果在第一个 MySQL 表中找不到,如何让它在第二个表中进行搜索?

mysql - mysql 数据库访问被拒绝

javascript - 获取单选按钮值(PhP MySQL 和 ajax)

Php 7.0 Armbian,我如何修复 Mysqli?

php - mySQL多查询解决方案

PHP mysqli - 从准备好的语句返回关联数组