2012-07-11 158 views
1

我有一个用逗号准备插入分隔成一个MySQL表的标签名称的字符串,例如:插入多条记录

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

我有一个MySQL表称为标签含有TAG_IDtag_name

我想插入每个标签到表中。这是可能在一个INSERT查询使用我有字符串,或者我将不得不运行一个循环与标签名称的数组?

回答

3

你可以这样做:

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

如果你是呼应了$sql你应该得到:

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

看起来不错,谢谢你。 – user1481563 2012-07-11 01:35:26

+0

祝你好运,欢呼! – 2012-07-11 01:36:12

0

它的代码

<?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; 
?>