正在插入多条记录


Inserting multiple records

我有一个字符串,其标记名由逗号分隔,准备插入MySQL表中,例如:

$tags = " 'pigs','dogs','cats' "

我有一个名为tags的mySQL表,其中包含tag_idtag_name

我想把每个标签都插入表中。这在一个使用字符串的INSERT查询中是可能的吗?还是我必须运行一个带有标记名数组的循环?

你可以做:

$sql = "INSERT INTO `tags` (`tag_name`) VALUES(". implode('),(', explode(',', trim($tags))) . ")";

如果你要回显$sql,你应该得到:

INSERT INTO `tags` (`tag_name`) VALUES('pigs'),('dogs'),('cats')

它的代码是

<?php
$tags = " 'pigs','dogs','cats' ";
$ary_tags = explode(",", trim($tags));
$sql = "INSERT INTO `tags` (`tag_name`) VALUES";
foreach($ary_tags as $t) {
        $sql .= "({$t}),";
}
$sql =  rtrim($sql, ',');
$sql .= ';';
echo $sql;
?>