检查数据库中的同一行中是否出现两个特定值


Check if two specific values appear in on same row in database

我有一个名为'users-events'的数据库表,这是一个由id,user_id event_id组成的三列表。

我正在尝试在 php 中确定两个特定值是否出现在数据库中的同一行上,以查看用户是否已注册事件。

例如,如果行是:x, 1, 1 这意味着用户 1 已注册到事件 1,因此请隐藏"注册事件"按钮并显示"从事件辞职"按钮。

目前我有一个非常凌乱且非功能性的混合物......

<?php 
    if(!mysql_fetch_assoc(mysql_query("SELECT user_id FROM `users-events` WHERE event_id IN (".$_SESSION['uid'].")"))){
        ?>
    <input type="submit" class="button1" name="btn-register" value="Register for event">
    <?php }else{ ?>
        <input type="submit" class="button1" name="btn-resign" value="Resign from event">
    <?php } ?>

这很重要,因为我也需要同样的东西,因此用户无法多次注册同一事件。

提前感谢!

包含用户所有事件的第一个查询。我认为$_SESSION['uid']是用户ID。

$events_query = "SELECT event_id FROM `users-events` WHERE user_id = ".$_SESSION['uid'];

接下来执行此操作并保存到数组。和

if(array_key_exists($event_id,$event_user_array)){
}else{
}

所以今天我了解到你可以在SQL中使用AND子句。 在这样的时代,我显然是一个自学成才的程序员。 我敢肯定,我会在第 1 课中被教导这一点。

$regcheck = mysql_fetch_assoc(mysql_query("SELECT user_id FROM `users-events` WHERE user_id ='".$_SESSION['uid']."' AND event_id ='".$eventid."'"));
if(empty($regcheck)){ showregisterbutton(); }else{ showresignbutton(); }