summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2008-12-05 12:41:27 +0000
committerDries Buytaert <dries@buytaert.net>2008-12-05 12:41:27 +0000
commit4e9d1f7d1c97600113edc7bba3f49b59d0bdcb20 (patch)
tree958ab6eaf868d3745bee44f45988f985995b4c3a /includes
parent5a53f843d7070d80a2a2f6b50cdf91c601ca76f9 (diff)
downloadbrdo-4e9d1f7d1c97600113edc7bba3f49b59d0bdcb20.tar.gz
brdo-4e9d1f7d1c97600113edc7bba3f49b59d0bdcb20.tar.bz2
- Patch #342366 by John Morahan, Dave Reid, Damien Tournoud: fixed replacement of unnamed placeholders in SQLite.
Diffstat (limited to 'includes')
-rw-r--r--includes/database/sqlite/database.inc5
1 files changed, 4 insertions, 1 deletions
diff --git a/includes/database/sqlite/database.inc b/includes/database/sqlite/database.inc
index f8b41eb31..b918440b5 100644
--- a/includes/database/sqlite/database.inc
+++ b/includes/database/sqlite/database.inc
@@ -198,7 +198,10 @@ class DatabaseStatement_sqlite extends DatabaseStatementPrefetch implements Iter
// Else, this is using named placeholders.
foreach ($args as $placeholder => $value) {
if (is_numeric($value)) {
- $query = str_replace($placeholder, $value, $query);
+ // When replacing the placeholders, make sure we search for the
+ // exact placeholder. For example, if searching for
+ // ':db_placeholder_1', do not replace ':db_placeholder_11'.
+ $query = preg_replace('/' . preg_quote($placeholder) . '\b/', $value, $query);
unset($args[$placeholder]);
}
}