【问题标题】:PDO prepared statement with <> operator in where clause在 where 子句中使用 <> 运算符的 PDO 准备语句
【发布时间】:2015-04-10 12:13:01
【问题描述】:

我需要知道如何在准备好的语句中处理与 where 子句中的参数一起使用的 运算符。谁能告诉我如何做类似于'WHERE field :parameter'的事情。谢谢。 编辑:我不记得提到 MySQL 是我的数据库服务器。

【问题讨论】:

    标签: pdo parameters comparison operator-keyword clause


    【解决方案1】:

    直到我发现这一点,在网络上的所有示例中,我只在准备好的语句的 WHERE 子句中看到“=”运算符。但是我最近发现 ANY,我的意思是 ANY,运算符逻辑运算符与准备好的语句占位符一起使用,而不仅仅是“=”。例如,您可以:

    <?php 
         $stmt = $dbHandle->prepare( 'SELECT * FROM table WHERE id <> :ID' );
         $stmt->execute( array( ':ID'=> $id ) );
    ?>
    

    甚至这个

    <?php 
         $stmt = $dbHandle->prepare( 'SELECT * FROM table WHERE id <= :ID' );
         $stmt->execute( array( ':ID'=> $id ) );
    ?>
    

    而且,你可能猜到了,

    <?php 
         $stmt = $dbHandle->prepare( 'SELECT * FROM table WHERE id >= :ID' );
         $stmt->execute( array( ':ID'=> $id ) );
    ?>
    

    PDO 应该能够做到这一点看起来合乎逻辑,但不确定。所以,通过实验发现这一点让我松了一口气。我一直想在我的代码中这样做。我希望这可以节省一些时间。

    【讨论】:

      猜你喜欢
      • 2013-04-21
      • 2016-12-16
      • 1970-01-01
      • 1970-01-01
      • 2013-12-31
      • 1970-01-01
      • 2013-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多