【问题标题】:Converting Array values into a temporary table将数组值转换为临时表
【发布时间】:2016-10-19 19:07:04
【问题描述】:

我有两列成员ID和作者ID

成员 A 以数组格式提供作者 ID 列表。我需要对我的数据库进行检查,以查看这些作者 ID 是否已经存在于我的数据库中,如果它们存在,则获取这些作者的成员 ID 并将它们链接到 A 的成员 ID。

执行此操作的有效方法是什么?是否建议将作者 ID 存储到临时表并运行检查并获取它。数组中的作者 ID 数量多达数千。

你能分享一些示例代码吗?我目前正在使用 PHP 和 MySql。

更新 - 我得到一组 JSON 对象,作者 ID 和名称如下:

  {
     "name": "Harold Robinson",
     "id": "912065"
  },
  {
     "name": "Gilbert Patten",
     "id": "1212140"
  },
  {
     "name": "Leo Tolstoy",
     "id": "6012954"
  }

我已经有一个名为 Authors 的表,需要比较这些数据,如果 ID 匹配,则分配给作者的用户 ID 必须链接到用户 A。

表作者 用户编号:109876 编号:912065

【问题讨论】:

  • 现在这肯定是一个 SQL 问题,并且可能可以通过子查询或连接来回答。但是,如果您可以展示您的数据库结构或现有的示例查询以进行扩展,您会更快地获得合适的答案。
  • 要获得更高质量的答案,请通过包含sample code 编写一个完整而简洁的higher quality question,包括定义表和插入示例数据的SQL 语句。

标签: php mysql arrays


【解决方案1】:

仅供参考,如果您的问题不明确且不够详细,您将不会得到有用的答案。这是一个尽管问题,因为问题不是很清楚,但我会尽我所能理解这个问题。然后,当您进一步澄清问题时,我们可以调整答案。

    //Not sure how you are collecting the ids into an array so I will just create one here for show.
$member_authors = array (1, 2, 3);
foreach ($member_authors as $authorID) {
    $query = "SELECT author_id FROM authors WHERE author_id ='" . $authorID . "'";
    $result = mysql_query($query);

    if (mysql_affected_rows() > 0) { //If a value was returned then the author does exist in the database. 
        //Do whatever you want with the authorID.
    }
}

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-27
    • 1970-01-01
    • 2020-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多