【发布时间】:2015-04-10 12:13:01
【问题描述】:
我需要知道如何在准备好的语句中处理与 where 子句中的参数一起使用的 运算符。谁能告诉我如何做类似于'WHERE field :parameter'的事情。谢谢。 编辑:我不记得提到 MySQL 是我的数据库服务器。
【问题讨论】:
标签: pdo parameters comparison operator-keyword clause
我需要知道如何在准备好的语句中处理与 where 子句中的参数一起使用的 运算符。谁能告诉我如何做类似于'WHERE field :parameter'的事情。谢谢。 编辑:我不记得提到 MySQL 是我的数据库服务器。
【问题讨论】:
标签: pdo parameters comparison operator-keyword clause
直到我发现这一点,在网络上的所有示例中,我只在准备好的语句的 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 应该能够做到这一点看起来合乎逻辑,但不确定。所以,通过实验发现这一点让我松了一口气。我一直想在我的代码中这样做。我希望这可以节省一些时间。
【讨论】: