From 4d7836f3f0be3f3d32e00d8590114213f1bb4deb Mon Sep 17 00:00:00 2001 From: ylorant Date: Fri, 24 Sep 2021 00:24:01 +0200 Subject: [PATCH] Fix "in" operator (and more generally array values) in where clause on QueryBuilder. --- inc/core/lib/QueryBuilder.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/inc/core/lib/QueryBuilder.php b/inc/core/lib/QueryBuilder.php index d5e5d80..990b890 100644 --- a/inc/core/lib/QueryBuilder.php +++ b/inc/core/lib/QueryBuilder.php @@ -285,12 +285,13 @@ class QueryBuilder $value = '(' . implode(',', array_fill(0, count($value), '?')) . ')'; } else { array_push($this->condition_binds, $value); + $value = "?"; } if (empty($this->conditions) || strpos(end($this->conditions), '(') !== false) { - array_push($this->conditions, "$column $operator ?"); + array_push($this->conditions, "$column $operator $value"); } else { - array_push($this->conditions, "$ao $column $operator ?"); + array_push($this->conditions, "$ao $column $operator $value"); } return $this;