diff options
author | Meik Sievertsen <acydburn@phpbb.com> | 2009-10-30 17:21:20 +0000 |
---|---|---|
committer | Meik Sievertsen <acydburn@phpbb.com> | 2009-10-30 17:21:20 +0000 |
commit | c2832affae0e03d6f89e298d14025e68c6918770 (patch) | |
tree | cc308c19ce54ebd618a0fa520d25096721f94619 /phpBB/includes/db/oracle.php | |
parent | c02f276c5f4dbf05004b151f3fc25e985dd12f0b (diff) | |
download | forums-c2832affae0e03d6f89e298d14025e68c6918770.tar forums-c2832affae0e03d6f89e298d14025e68c6918770.tar.gz forums-c2832affae0e03d6f89e298d14025e68c6918770.tar.bz2 forums-c2832affae0e03d6f89e298d14025e68c6918770.tar.xz forums-c2832affae0e03d6f89e298d14025e68c6918770.zip |
Fix another bug in WHERE statement rewrite for oracle. The bug(s) actually consist of not detecting correct parameters and then resulting in partial WHERE statements, where non-detected strings are simply removed. grrrrrr
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10247 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/db/oracle.php')
-rw-r--r-- | phpBB/includes/db/oracle.php | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/phpBB/includes/db/oracle.php b/phpBB/includes/db/oracle.php index 5e4046e8ef..63cdb7126d 100644 --- a/phpBB/includes/db/oracle.php +++ b/phpBB/includes/db/oracle.php @@ -136,7 +136,7 @@ class dbal_oracle extends dbal */ function _rewrite_where($where_clause) { - preg_match_all('/\s*(AND|OR)?\s*([\w_.()]++)\s*(?:(=|<[=>]?|>=?)\s*((?>\'(?>[^\']++|\'\')*+\'|[\d-.()]+))|((NOT )?IN\s*\((?>\'(?>[^\']++|\'\')*+\',? ?|[\d-.]+,? ?)*+\)))/', $where_clause, $result, PREG_SET_ORDER); + preg_match_all('/\s*(AND|OR)?\s*([\w_.()]++)\s*(?:(=|<[=>]?|>=?|LIKE)\s*((?>\'(?>[^\']++|\'\')*+\'|[\d-.()]+))|((NOT )?IN\s*\((?>\'(?>[^\']++|\'\')*+\',? ?|[\d-.]+,? ?)*+\)))/', $where_clause, $result, PREG_SET_ORDER); $out = ''; foreach ($result as $val) { |