= :from"; $bind = array(":from" => $from); if(isset($t-6ren">
gpt4 book ai didi

php - 绑定(bind) PDO 查询中的可选部分

转载 作者:行者123 更新时间:2023-12-03 19:35:03 26 4
gpt4 key购买 nike

我有以下代码:

$sql = "SELECT * FROM image WHERE id >= :from";
$bind = array(":from" => $from);
if(isset($to)) {
$sql .= " AND id <= :to";
$bind[":to"] = $to;
}
$request = $database->prepare($sql);
$request->execute($bind);
print_r($request->fetchAll());

这感觉很不干净,但它确实有效。我想知道的是,是否有一种更简洁的方法来拥有一条可选的 SQL 和一个可选的绑定(bind)变量而不触发异常(就像我尝试将两个绑定(bind)放在最后并留下一个 NULL 时发生的那样)。

有没有另一种方法来编写这段代码?

最佳答案

如果你真的想要这样更干净的代码,

$qb = DB::table('image')->where('id', '>=', $from);
if(isset($to)) {
$qb->andWhere('id', '<=', $to)
}
$data = $qb->get()

你必须看看查询构建器

而对于原始 PDO,你的代码是你能得到的最好的。

关于php - 绑定(bind) PDO 查询中的可选部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36914469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com