Работа с БД
Работа с API абстрактного уровня базы данных — это нечто такое, что вы не сумеете полностью оценить, пока не попробуете вновь жить без этого. Случалось ли вам когда-либо работать над проектом, в ходе которого необходимо изменить систему баз данных, и вы многодневно просеивали код. чтобы изменить специфичные Для базы данных функции вызовов и запросов? Благодаря абстрактному уровню вам уже не нужно будет следить за нюансами в именах функции для различных систем баз данных, и. если ваши запросы соответствуют стандарту ANSI SQL. вам не придется писать особые запросы.
Например, вместо запроса mysql_query () или P9_query () Drupal использует запрос dbquery (). который не зависит от типа используемой базы данных.
Абстрактный уровень базы данных Drupal относится к числу упрощенных и
удовлетворяет двум основным требованиям. Во-первых, он препятствует привязке нашего кода к какой-то одной базе данных. Во-вторых, он должен "санировать" данные, введенные пользователем.
Извлечь все строки неких полей с названием Joke (шутка), н которых поле vid имеет целочисленное значение, такое же кик значение $node_id; db query ('SELECT * FROM (joke) WHERE vid - %d\ $node->vid)
Вставить новую строку в таблицу с именем joke. Новая строка должна содержать двн целых числа и строковое значение (обратите внимание на то, что заполнитель значения строки заключается в одинарные кавычки; это помогает предотвращать SQL-атаки на основе ввода данных).
Существует некоторый специфичный для Drupal синыииг, с которым им должны ознакомиться, прежде чем приступать к написанию SQL-инструкций. Вначале обратите внимание на то. что имена таблиц заключаются н фигурные скобки. Это сделано для того, чтобы имена таблиц могли иметь префиксы, придающие им уникальность. Данное соглашение позволяет пользователям, которым провайдер хостинга разрешает иметь ограниченное количество баз данных, устанавливать Drupal с учетом уже существующей базы данных и избегать длинных имен таблиц.