加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

php – 忽略特定的WHERE标准

发布时间:2021-04-04 09:37:07 所属栏目:编程 来源:网络整理
导读:我想执行参数化查询以通过用户提供的参数执行搜刮.有许多参数,并不是全部参数城市一向供给.怎样建设指定全部也许参数的尺度查询,但假如用户未选择故意义的参数值,则忽略个中一些参数? 这是一个虚拟的例子来声名我的方针 $sql = 'SELECT * FROM people WHERE

我想执行参数化查询以通过用户提供的参数执行搜刮.有许多参数,并不是全部参数城市一向供给.怎样建设指定全部也许参数的尺度查询,但假如用户未选择故意义的参数值,则忽略个中一些参数?

这是一个虚拟的例子来声名我的方针

$sql = 'SELECT * FROM people WHERE first_name = :first_name AND last_name = :last_name AND age = :age AND sex = :sex';
$query = $db->prepare($sql);
$query->execute(array(':first_name' => 'John',':age' => '27');

显然,这不起浸染,由于提供的参数数目与预期参数的数目不匹配.我是否必需每次只行使WHERE子句中包括的指定参数来建造查询,可能是否有步伐让某些参数被忽略或在搜查时始终返回true? 最佳谜底

SELECT * FROM people 
WHERE (first_name = :first_name or :first_name is null)
AND (last_name = :last_name or :last_name is null)
AND (age = :age or :age is null)
AND (sex = :sex or :sex is null)

转达参数时,为不必要的参数提供null.

请留意,为了可以或许以这种方法运行查询,必需打开PDO的仿真模式

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读