db_prefix_tables
includes/database.inc, строка 81
- Версии
- 5 – 6
db_prefix_tables($sql)
Добавляет префиксы (если нужно) ко всем таблицам запроса.
В запросах названия таблиц должны быть обернуты в фигурные скобки (например, 'SELECT * FROM {node}'
). Эта функция ищет подобный синтаксис и добавляет префиксы таблиц Друпала ко всем таблицам, позволяя Друпалу сосуществовать с другими системами в одной базе данных, если это необходимо.
Параметры
$sql
Строка, содержащая часть или целый SQL-запрос.
Возвращаемое значение
Строка с правильно добавленным префиксом.
Связанные темы
Код
<?php
function db_prefix_tables($sql) {
global $db_prefix;
if (is_array($db_prefix)) {
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 {
return strtr($sql, array('{' => $db_prefix, '}' => ''));
}
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии