From: Peter Knut Date: Sat, 9 Nov 2024 23:55:46 +0000 (+0100) Subject: MongoDB: Fix parsing WHERE condition from SQL query X-Git-Tag: v4.16.0~59 X-Git-Url: https://git.joonet.de/?a=commitdiff_plain;h=99434644efa8c347f06c68b648dd4100f76af2a9;p=adminer.git MongoDB: Fix parsing WHERE condition from SQL query Thanks to herobank110 (https://github.com/vrana/adminer/pull/491) --- diff --git a/adminer/drivers/mongo.inc.php b/adminer/drivers/mongo.inc.php index 63649f04..1ebece8d 100644 --- a/adminer/drivers/mongo.inc.php +++ b/adminer/drivers/mongo.inc.php @@ -480,7 +480,11 @@ if (isset($_GET["mongo"])) { } function sql_query_where_parser($queryWhere) { - $queryWhere = preg_replace('~^\sWHERE \(?\(?(.+?)\)?\)?$~', '\1', $queryWhere); + $queryWhere = preg_replace('~^\s*WHERE\s*~', "", $queryWhere); + while ($queryWhere[0] == "(") { + $queryWhere = preg_replace('~^\((.*)\)$~', "$1", $queryWhere); + } + $wheres = explode(' AND ', $queryWhere); $wheresOr = explode(') OR (', $queryWhere); $where = array();