【问题标题】:Inserting multiple records插入多条记录
【发布时间】:2012-07-11 01:25:14
【问题描述】:

我有一个带有逗号分隔的标记名称的字符串,可以插入到 MySQL 表中,例如:

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

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

我想将每个标签插入到表格中。这是否可以在一个使用我拥有的字符串的 INSERT 查询中实现,还是我必须使用一组标签名称运行一个循环?

【问题讨论】:

    标签: php mysql tags


    【解决方案1】:

    你可以这样做:

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

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

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

    【讨论】:

      【解决方案2】:

      代码

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-03-01
        • 2012-09-04
        • 2015-10-04
        • 2017-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多