SQL 查询返回 OR 语句中缺少 1 个变量的结果

问题描述 投票:0回答:1

我将使用以下 SQL 列出游戏玩家过去的活动:

$sql = "SELECT userID, gdtoken, time, type, gameid
 FROM inouts WHERE userID ='$userid' AND (type = '$wintype1' || type = '$wintype2' || type = '$wintype3' || type = '$wintype4') 
 GROUP BY time, gameid ORDER BY time DESC";

但是结果没有

$wintype3
数据。 仅使用
$wintype3
时,我将从其中获取数据:

$sql = "SELECT userID, gdtoken, time, type, gameid
  FROM inouts WHERE userID ='$userid' AND type = '$wintype3' 
  GROUP BY time, gameid ORDER BY time DESC";

我也没有收到错误消息。只是没有

$wintype3
的结果。 谢谢你的帮助。

php sql mysql mysqli
1个回答
0
投票

两个管道 (

||
) 充当串联运算符,您应该使用
OR
来代替。是的,您的代码目前容易受到 SQL 注入攻击,无论如何您都应该修复它。

© www.soinside.com 2019 - 2024. All rights reserved.