2015-03-27 3 views
-1

Я попытался настроить модуль, который может получать данные из базы данных. Я использовал db_query, чтобы сделать это, и каждый раз, когда я бегу модуль я получаю ошибку:Call to undefined function db_query

Call to undefined function db_query. 

Я искал в течение нескольких месяцев, чтобы найти ответ на этот вопрос, и все, что я могу найти то, что мне нужно грузиться стр.

define('DRUPAL_ROOT', $_SERVER['DOCUMENT_ROOT']. $SERVER["REDIRECT_COMMUNITY_SUBSITE"]); 
// Bootstrap Drupal up through the database phase. 
require_once (DRUPAL_ROOT. '/includes/bootstrap.inc'); 
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 

Однако я довольно уверен, что не нужно делать это в .module файл, но это, кажется, единственное, что работает.

ответ

0

Как вы используете файл .module?

Вы можете читать этот учебник, чтобы правильно создать модуль:

Creating modules - a tutorial: Drupal 7.x

+0

Спасибо @ T-34 Что, наряду с Buildamodule.com, являются руководствами, которые я использовал, чтобы помочь мне создать этот модуль. Я знаю, что в этом учебнике они используют db_select, и я использую db_query, но это не должно меняться, если это так? Кроме того, что вы имеете в виду «Как вы используете свой файл .module?» Я пробовал разделить все на разные .inc файлы, и это не сработало, так что теперь все в файле .module – James

0

Если Drupal загрузился правильно, это, вероятно, кэширование глюк.

Попробуйте перезагрузить свои кеши, такие как memcached.

При использовании модуля или drush вам не нужно беспокоиться о загрузке Drupal, так как это должно выполняться автоматически.

Используя команду drush, вы можете вызывать любой PHP-код с уже загрузочным буфером Drupal, например.

drush ev "some_function();" 
drush scr file.php 

Для начальной загрузки Drupal вручную из внешнего кода, вам просто необходимо:

define('DRUPAL_ROOT', getcwd()); 
require_once DRUPAL_ROOT . '/includes/bootstrap.inc'; 
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 

затем выполнить любой код, который нужно.