Помогите с коннектом к базе
Прислано: pps
вт, 15/08/2006 - 06:09
Кто-нить может дать пример подключения к базе и выборки из нее средствами drupal api?
Вроде все просто однако что-то не катит.
- pps's blog
- Для комментирования войдите или зарегистрируйтесь
http://api.drupal.org/api/4.7/group/database
- Для комментирования войдите или зарегистрируйтесь
а можно маленький примерчик, с db_connect и db_query
может я че не правильно делаю, но данные из таблички не извлекаются.
- Для комментирования войдите или зарегистрируйтесь
Примерчики есть по той ссылке, и не только маленькие. Вы лучше скажите что именно вы делаите, точне покажите сам код, и какая ошибка вылазит?
- Для комментирования войдите или зарегистрируйтесь
Если я делаю так:
db_connect('mysql://root:pass@localhost/base1');
$query = 'SELECT text_order_status_rus FROM {s_settings}';
$result = db_fetch_object(db_query($query));
то ничего не получаю, хотя в табличке что-то есть,
а так:
$db_url['base1'] = 'mysql://root:pass@localhost/base1';
db_connect($db_url);
...
то нарываюся на ошибку Unable to select database
warning: parse_url() expects parameter 1 to be string, array given in C:\Development\web\work\drupal\includes\database.mysql.inc on line 33.
We were able to connect to the MySQL database server (which means your username and password are okay) but not able to select the database.
The MySQL error was: No database selected.
Не пойму, то ли не подключается к базе, то ли не правильно делаю селект...
- Для комментирования войдите или зарегистрируйтесь
Если в конфиге сайта прописаны корректные параметры БД, то можно сразу делать db_query, коннект будет сделан движком (это справедливо если пишешь модуль, если внешний скрипт, то можно сделать
require_once './includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
чтобы инициализировать API движка (см. как это вызывается в index.php). А если коннектиться используя функции PHP для работы c MySQL, то тогда надо самому следить за префиксами таблиц и не использовать '{}' вокруг имён таблиц (это фича друпаловского API, не встроенная в PHP).
--
Axel,
Darcs-репозиторий разработок для Drupal
- Для комментирования войдите или зарегистрируйтесь
задача такая. есть модуль для друпала, в модуле есть функция, в которой берутся данные из базы base1 и отсылаются по почте. db_connect не катит. пробовал db_set_active то же самое. Никаких ошибок не появляется и из базы ничего не извлекается. как решить эту проблему?
- Для комментирования войдите или зарегистрируйтесь
Ну кто-нибудь помогите же!!!
- Для комментирования войдите или зарегистрируйтесь
просто сделайте db_query()
если таблица в другой базе, то правильно настройте settings.php
- Для комментирования войдите или зарегистрируйтесь
Увы, но точно так
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
не работает, пишет
[Wed Jul 11 12:52:41 2007] [error] [client ::1] PHP Warning: require_once(./includes/bootstrap.inc) [function.require-once]: failed to open stream: No such file or directory in /var/www/html/drupal-5.1/modules/wc/test.php on line 8
[Wed Jul 11 12:52:41 2007] [error] [client ::1] PHP Fatal error: require_once() [function.require]: Failed opening required './includes/bootstrap.inc' (include_path='.:/usr/share/pear') in /var/www/html/drupal-5.1/modules/wc/test.php on line 8
А если разобраться с путями и написать так
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
то bootstrap.inc находится, а другие файлы нет
[Wed Jul 11 12:55:33 2007] [error] [client ::1] PHP Warning: include_once(./sites/default/settings.php) [function.include-once]: failed to open stream: No such file or directory in /var/www/html/drupal-5.1/includes/bootstrap.inc on line 238
[Wed Jul 11 12:55:33 2007] [error] [client ::1] PHP Warning: include_once() [function.include]: Failed opening './sites/default/settings.php' for inclusion (include_path='.:/usr/share/pear') in /var/www/html/drupal-5.1/includes/bootstrap.inc on line 238
[Wed Jul 11 12:55:33 2007] [error] [client ::1] PHP Warning: require_once(./includes/cache.inc) [function.require-once]: failed to open stream: No such file or directory in /var/www/html/drupal-5.1/includes/bootstrap.inc on line 844
[Wed Jul 11 12:55:33 2007] [error] [client ::1] PHP Fatal error: require_once() [function.require]: Failed opening required './includes/cache.inc' (include_path='.:/usr/share/pear') in /var/www/html/drupal-5.1/includes/bootstrap.inc on line 844
Кто нибудь знает что следует сделать, что бы во внешнем скрипте, который лежит, например, в path_to_drupal/modules/somethink можно было бы инициализировать API drupala?
- Для комментирования войдите или зарегистрируйтесь
тут есть то что нужно, но у меня не сработало
зы. год создания поста знаю)
- Для комментирования войдите или зарегистрируйтесь




Комментарии