Вывести строку запроса к базе данных, созданную через db_select(), можно командой print $query; где $query - объектная переменная запроса. Однако вместо аргументов будут выведены именованные параметры (placeholders) типа :db_condition_placeholder_1, :db_condition_placeholder_2 и т.д. Чтобы заменить их реальными аргументами, можно использовать функцию:
function _get_query_string(SelectQueryInterface $query) { $string = (string) $query; $arguments = $query->arguments(); if (!empty($arguments) && is_array($arguments)) { foreach ($arguments as $placeholder => &$value) { if (is_string($value)) { $value = "'$value'"; } } $string = strtr($string, $arguments); } return $string; }
Она выводит запрос строкой в человекопонятном виде.