“如何连接两个数组的数据并插入mysql数据库?”

fruv7luv  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(396)

我有两个mysql查询将数据插入到两个不同的表中。查询结果如下:
INSERT INTO table1 (ans1,ans2,ans3,ans4,ans5) VALUES (0,0,0,0,0),(1,1,1,0,0),(0,0,0,0,0) INSERT INTO table2 (uid,cid,sid) VALUES (1,,123),(2,def,456),(3,ghi,789) 如何连接这两个结果,使输出看起来像

INSERT INTO table3 (uid,cid,sid,ans1,ans2,ans3,ans4,ans5)
VALUES
    (1,abc,123,0,0,0,0,0),
    (2,def,456,1,1,1,0,0),
    (3,ghi,789,0,0,0,0,0)
iqih9akk

iqih9akk1#

我想是这样的:

<?php
//First we need connect to database
$server = "localhost";
$Userdb = "admin";
$Passworddb = "password";
$database = "db";
$conn = mysqli_connect($server, $Userdb, $Passworddb, $database);
mysqli_set_charset($conn, "utf8");

//Getting values - for this example it is static
//For concate we need values as array => explode()
$colums1 = "ans1,ans2,ans3,ans4,ans5";
$values1 = explode("),(", substr("(0,0,0,0,0),(1,1,1,0,0),(0,0,0,0,0)", 1, -1));
$colums2 = "uid,cid,sid";
$values2 = explode("),(", substr("(1,abc,123),(2,def,456),(3,ghi,789)", 1, -1));

//Query for table1
$command = "INSERT INTO table1 (".$colums1.") VALUES ".$values1;
mysqli_query($conn, $command) or die(mysqli_error($conn));

//Query for table2
$command = "INSERT INTO table2 (".$colums2.") VALUES ".$values2;
mysqli_query($conn, $command) or die(mysqli_error($conn));

//We need to concate values so =>
//=> For every index of $values1 add at same index into $values3 concated $values1 and $values2

$values3 = array();
for ($x = 0; $x <= count($values1); $x++) { 
    $values3[$x] = "(".$values2[x].",".$values1[$x].")";
}

//Query for table3
$command = "INSERT INTO table3 (".$colums2.",".$colums1.") VALUES (".implode("),(", $values3).")";
mysqli_query($conn, $command) or die(mysqli_error($conn));
?>

我认为这应该管用(谁也不知道:))

相关问题