你好,我有一个变量$ 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

最佳答案

我假设您真的是说$documement_ids is array(1,2,4,5,8,99,102). If it's a string, you can use 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/

10-16 15:03