MySQLテーブルに挿入する準備ができているコマで区切られたタグ名の文字列があります。例:
$tags = " 'pigs','dogs','cats' "
tag_idとtag_nameを含むtagsというmySQLテーブルがあります。
各タグをテーブルに挿入したいと思います。これは、私が持っている文字列を使用する1つの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;
?>