Робота з базою даних в Drupal: Database API і 2 способи написання запитів
Писати запити до бази даних, використовуючи штатні засоби мови PHP, коли ви програмуєте на Drupal, вважається дуже поганою / поганим тоном (принаймні в переважній більшості випадків). Адже у нього є стерпний Database API. Далі я наведу два абстрактних варіанти написання SQL запитів з урахуванням цього факту: в стилі D6 і в стилі D7 – останньою мажорній версії системи на тек. час.
SQL-запит:
SELECT `uid`, `hostname` FROM sessions
Тобто з таблички sessions беремо значення з двох полів – uid і hostname.
D7 (майже, як у шістці):
$first = db_select(‘SELECT uid, hostname FROM {sessions}’);
D7:
$second = db_select(‘sessions’, ‘s’);
$second->fields(‘s’, array(‘uid’, ‘hostname’));
$second = $second->execute();
// або (але не завжди так можна писати):
$three = db_select(‘sessions’, ‘s’)
->fields(‘s’, array(‘uid’, ‘hostname’))
->execute();
Як бачимо перший варіант більш прозорим для розуміння, оскільки візуально мало чим відрізняється від сирого запиту, але з т. з. “правильного” коду, його використовувати не рекомендується.
P. S. Щоб опис не розтягнулося на кілька десятків рядків , я привів сніппети для найпростішого query. Читайте api.drupal.org.