我需要知道如何处理<>运算符与预准备语句中where子句中的参数一起使用。任何人都可以告诉我如何做类似于' WHERE字段<>:参数'。谢谢。 编辑:我不记得提到MySQL是我的数据库服务器。
答案 0 :(得分:0)
直到我发现这一点,在Web上的所有示例中,我只在预备语句的WHERE子句中看到了'='运算符。但我最近发现任何,我的意思是任何,运算符逻辑运算符与预处理语句占位符一起使用,而不仅仅是'='。例如,您可以:
<?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应该能够做到这一点但不确定是合乎逻辑的。所以,通过实验发现这一点对我来说是一种解脱。我一直想在我的代码中这样做。我希望能节省一些时间。