diff options
author | Dries Buytaert <dries@buytaert.net> | 2005-04-08 14:24:03 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2005-04-08 14:24:03 +0000 |
commit | 47f1f7f90ab4a3bb64bed4de6a4b9e3f312d470c (patch) | |
tree | c084ba4eb44a7812a2809d2f548d4da8841a9747 | |
parent | e722f0df586b8dcd325b32b6626d943a4e5b4433 (diff) | |
download | brdo-47f1f7f90ab4a3bb64bed4de6a4b9e3f312d470c.tar.gz brdo-47f1f7f90ab4a3bb64bed4de6a4b9e3f312d470c.tar.bz2 |
- Patch #19609 by Daniel: fix problem with database prefixing
-rw-r--r-- | includes/database.inc | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/includes/database.inc b/includes/database.inc index fc6d9d754..06d150d30 100644 --- a/includes/database.inc +++ b/includes/database.inc @@ -60,17 +60,24 @@ function db_prefix_tables($sql) { global $db_prefix; if (is_array($db_prefix)) { - $prefix = $db_prefix['default']; - foreach ($db_prefix as $key => $val) { - if ($key !== 'default') { + if (array_key_exists('default', $db_prefix)) { + $tmp = $db_prefix; + unset($tmp['default']); + foreach ($tmp as $key => $val) { $sql = strtr($sql, array('{'. $key. '}' => $val. $key)); } + return strtr($sql, array('{' => $db_prefix['default'], '}' => '')); + } + else { + foreach ($db_prefix as $key => $val) { + $sql = strtr($sql, array('{'. $key. '}' => $val. $key)); + } + return strtr($sql, array('{' => '', '}' => '')); } } else { - $prefix = $db_prefix; + return strtr($sql, array('{' => $db_prefix, '}' => '')); } - return strtr($sql, array('{' => $prefix, '}' => '')); } /** |