如何将与coma分离的数据添加到数据库中

btqmn9zl  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(515)

我想把数据插入数据库。我有用逗号分隔的数据。
我试着这样做,但看起来有点不对劲。

$rand_post = ["3001182708", "3001182713", "3001183215"]; 
$id_post = '123456';

$prep = array();
foreach($rand_post as $v ) {
    $prep[] = "($id_post, $v)";
}
print_r($prep);
$sth = $db->prepare("INSERT INTO tes (`id_post`,`datas`) VALUES " . implode(', ', $prep));
$res = $sth->execute($prep);

我想像这样插入我的数据

id_post            rand_post
============       ================
123456             3001182708
123456             3001182713
123456             3001183215
lnlaulya

lnlaulya1#

你已经很接近了,但是不要把字符串粘在一起,而是使用准备好的语句的能力。准备查询,然后在循环中使用不同的参数执行它。也可以命名。

$rand_post = ["3001182708", "3001182713", "3001183215"]; 
$id_post = '123456';

$prep = array();
$sth = $db->prepare("INSERT INTO tes (`id_post`,`datas`) VALUES (?, ?)");

foreach($rand_post as $v ) {
    $sth->execute(array($id_post, $v));
}

你可以在这里找到更多信息

20jt8wwn

20jt8wwn2#

这应该管用

$rand_post = ["3001182708", "3001182713", "3001183215"]; 
$id_post = '123456';

$prep = array();
foreach($rand_post as $v ) {
    $prep[] = "($id_post, $v)";
}

$dataToInsert = implode(', ', $prep);
$sth = $db->prepare("INSERT INTO tes VALUES " . $dataToInsert);
$res = $sth->execute($prep);

相关问题