Ваш вызов 'update' в порядке, хотя в вашем случае лучше использовать следующий синтаксис для построения предложения WHERE (но это стилистическая вещь):
$data = array('user_preference_value' => 2);
$where = array(
'user_preferences_name = ?' => 'is_user_package_active',
'user_id = ?' => $user_id,
'phone_service_id = ?' => $phone_service_id
);
$DB->update('user_preferences', $data, $where);
Так что я предполагаю, чтопроблема здесь с вашим адаптером по умолчанию.Вы уверены, что настроили соединение?Можете ли вы успешно запустить SELECT с тем же объектом $ DB?Попробуйте запустить простое обновление SQL с вашим объектом, то есть $ DB-> query ('Ваш необработанный запрос UPDATE здесь'), чтобы увидеть, работает ли он.
Также стандартный способ получения базы данных по умолчанию - Zend_Db_Table,но это также стилистически.