PHP MYSql:用一个 id 更新多行


PHP MYSql: UPDATE Multi Row With One id

我从标签表中获取此数据,comma separated

trance, house, electronica, dubstep, club

标签表为:

ID        NAME             ArticleId
1         trance              10
2         house               10 
3         electronica         10
4         dubstep             10
5         garage              10

现在我需要UPDATE标签表,其中包含编辑页面的新输入:

trance, house, electronica  // I remove dubstep, club tag

我的PHP代码:

$arr_tag = explode(",",$tag); 
   foreach($arr_tag as $tags){
      DataAccess::put("UPDATE tags SET name = ?, type=? WHERE article = 10",$tags,"news");
   }

现在UPDATE输出之后是:

trance, trance, trance

我的问题是:如何为新标签输入UPDATE标签表?

您必须先删除所有信息:

query = "DELETE FROM tags WHERE article = 10"

然后再次保存所有行。非常容易

问题是您的更新查询正在将其文章为 10 的任何行替换为 foreach 循环中的当前标签,最终结果是您将它们替换为标签数组的最后一个值。我建议您首先删除所有相关行,然后再次插入所需的信息,但最重要的是,我建议您阅读有关PHP和SQL查询的更多信息,因为您似乎缺少两者。