多个sql选择pdo

时间:2018-03-29 13:31:33

标签: php sql pdo

出于某种原因,我的查询不能在我的PHP脚本中运行,我实际上是在尝试进行一个查询,让所有玩家得分都大于0,尽管我也试图让一些玩家得到点数相等为0,但合格数量大于0.我的示例代码如下。

示例

 $sql = "
            SELECT * FROM allplayers WHERE points > 0 ORDER BY points DESC
            SELECT * FROM allplayers WHERE points = 0 and qualified > 0
    ";

    $q = $pdo->query($sql);
        while ($dnn = $q->fetch()) { 
              //script
        }

表格示例

player       points         qualified

Alex         90             1
Amy          0              1
Jimmy        200            0
John         0              0

查询试图找回表中的所有人,除了john whos points = 0且谁没有资格(qualified = 0) 感谢阅读:)

1 个答案:

答案 0 :(得分:4)

如评论中所述,您无法进行多个查询,而您忘记以分号结束第一个查询。但是,您不需要多个查询。如果您要执行的操作是消除任何对于点和限定列值 0的实体,则只需选择具有值>的任何实体。其中一列为0。这应该有效:

修改 正如@JitendraSoftgrid指出的那样,更恰当的答案将使用您的原始条件,因为它会解释pointsqualified列中的任何负值。以下是两个查询的组合版本:

$sql = "SELECT * FROM allplayers 
        WHERE points > 0
        OR (points = 0 and qualified > 0)
        ORDER BY points DESC";