当“事件ID”与“用户ID”匹配时,im会尝试从我的“事件”表中选择所有数据。然而,我得到一个错误1242,子查询返回超过1行。
$query = "SELECT * FROM events WHERE id = (SELECT event_id FROM booking_dates WHERE user_id = '{$user_id}')";
$event_set = mysqli_query($connection, $query);
我理解我的子查询将返回多行,因为一个用户可以参加多个事件。那么我如何使我的查询接受多行呢?
您可以在中使用:
SELECT * FROM events
WHERE id IN (SELECT event_id FROM booking_dates WHERE user_id = '{$user_id}')
警告:在SQL中注入类似的字符串会使它们容易受到SQL注入的攻击。请查看您可以在没有此漏洞的情况下绑定参数的已准备语句。