【发布时间】:2012-07-11 01:25:14
【问题描述】:
我有一个带有逗号分隔的标记名称的字符串,可以插入到 MySQL 表中,例如:
$tags = " 'pigs','dogs','cats' "
我有一个名为 tags 的 mySQL 表,其中包含 tag_id 和 tag_name。
我想将每个标签插入到表格中。这是否可以在一个使用我拥有的字符串的 INSERT 查询中实现,还是我必须使用一组标签名称运行一个循环?
【问题讨论】:
我有一个带有逗号分隔的标记名称的字符串,可以插入到 MySQL 表中,例如:
$tags = " 'pigs','dogs','cats' "
我有一个名为 tags 的 mySQL 表,其中包含 tag_id 和 tag_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;
?>
【讨论】: