Добрый день господа!
Есть следующий код:
<?php
$node_type = "preview_front_content";
$list_no = 5;
$sql1 = "SELECT field_data_body.entity_id, field_data_body.language, field_data_body.body_value, field_data_body.body_summary FROM {field_data_body} WHERE field_data_body.bundle = '$node_type' AND field_data_body.deleted = 0 ORDER BY field_data_body.revision_id";
$result1 = db_query_range($sql1, 0, $list_no);
?>
В принципе все работает как надо, тут просто извлекается контент из базы данных Drupal с типом материала preview_front_content
Проблема в следующем, эта таблица базы данных создается автоматически при создании такого материала, и когда база данных создана то все работает нормально, но вот если нету этой базы данных тогда уже проблема. Друпал просто падает и даже админ панель не работает. Ошибку в логах выдает такую:
PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'anyks2.field_data_body' doesn't exist: SELECT field_data_body.entity_id, field_data_body.language, field_data_body.body_value, field_data_body.body_summary FROM {field_data_body} WHERE field_data_body.bundle = 'preview_front_content' AND field_data_body.deleted = 0 ORDER BY field_data_body.revision_id LIMIT 0, 5; Array ( ) в функции preview_front_page() (строка 1234 в файле /Users/Frazer/Sites/anyks2/sites/all/themes/anyks/template.php).
Вроде все понятно, появляется ошибка известно почему она появляется но вот как обработать её? как поставить проверку что мол если базы данных не существует то запрос делать не надо? Просто чтобы Drupal не падал.
Ничего не выходит, чем не пробовал определять ничего не выходит, т.е. любое обращение к этой базе данных которой нету ведет падение Drupal и ничего сделать не получается. Удалось даже отловить ошибку, пишет что ошибка такая но Drupal при этом грохнулся...
Комментарии
db_query('SELECT * FROM table');
} catch (Exception $e) {
drupal_set_message($e->getMessage(), 'error');
}
SHOW TABLES FROM DATABASE LIKE tablename
или с помощью drupal_get_schema
P.S. Непонятно, для чего вообще создавать для каждой ноды отдельную таблицу(ы).
Самое Огромное Спасибо!!!! Все заработало