根据数组检查mysql结果是不是有重复

Posted

技术标签:

【中文标题】根据数组检查mysql结果是不是有重复【英文标题】:check mysql result against array for duplicates根据数组检查mysql结果是否有重复 【发布时间】:2011-04-20 17:20:54 【问题描述】:

我对此进行了研究但无济于事,并认为我会在这里询问,因为 SO 的这群人似乎非常了解情况。

情况是这样的。我有一个数据库,其中存储了比赛,以便为我正在开发的联赛应用程序创建结果/时间表。一切都很好,除了我最后一次错误检查。基本上我想要做的是检查表格中选择的球队是否还没有在制定时间表时选择的日期比赛。即 TEAM1 和 TEAM2 将在 2011 年 4 月 20 日比赛(这已经在数据库中),当联盟管理员制定时间表时,我想确保这些球队都不能在该日期再次比赛。

这是我目前得到的代码:

    //check to make sure none of the teams are already scheduled to play on the same date
    $resultarray = "";
    $querydate = $_POST['date'];
    $queryseason = $_SESSION['SEASON_ID'];
    $sql2="SELECT MATCH_TEAM1_ID, MATCH_TEAM2_ID FROM MATCHES WHERE SEASON_ID ='$queryseason' AND MATCH_DATE='$querydate'";
    $result2=mysql_query($sql2) or die(mysql_error());

    $teamdateerror = false;

    $resultSet = array();
    while($resultarray = mysql_fetch_array($result2))
        $resultSet[] = $resultarray;
    

    $commonteamcheck = array_intersect($resultset,$allteams);

    vardump($commonteamcheck);

    if ($commonteamcheck != "")
        $teamdateerror = true;
    

以上总是导致错误:警告:array_intersect() [function.array-intersect]: Argument #1 is not an array

有什么想法吗?提前感谢您的帮助!

【问题讨论】:

【参考方案1】:

$resultset !== $resultSet

您已存储在 resultSet 中,并测试了结果集。

【讨论】:

呃......也错过了vardump。谢谢!【参考方案2】:

因为您正在使用变量名创建数组 - $resultSet 并通过 array_intersect() 是 $resultset。

【讨论】:

谢谢!有时只是没有足够的咖啡!

以上是关于根据数组检查mysql结果是不是有重复的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 查询以检查某些短语(重复文章、抄袭)

如何根据php中日期列的降序对mysql结果数组进行排序?

如何检查一个值是不是已经存在以避免重复?

php检查数组中的特定值是不是包含大于0的值[重复]

如何根据 JavaScript 中的值检查对象是不是在数组中?

数组的常用扩展