Метод $conn->Execute() выполняет запрос к базе данных и возвращает множество записей (recordset).
Множество записей (recordset) в ADODB является отдельным объектом ACORecordSet, который имеет свои поля и методы для работы с полученными записями. Вот некоторые из них:
Вывод списка элементов. Ниже приведены примеры кода для вывода списка страниц из таблицы sys_objects.
// 1. Получаем результат запроса к базе данных (Список страниц) $rs = $parser->conn->Execute("SELECT objid, name_en, name_ru FROM sys_objects WHERE objtype=?",array('sys_elements_pages')); while (!$rs->EOF) { print('
'.$rs->fields[0].', '.$rs->fields[1].', '.$rs->fields[2]); $rs->MoveNext(); } // 2. Ограничиваем список 10 строчками и параметры задаём прямо в запросе $rs = $parser->conn->SelectLimit("SELECT objid, name_en, name_ru FROM sys_objects WHERE ob-jtype='sys_elements_pages'", 10); while (!$rs->EOF) { print('
'.$rs->fields[0].', '.$rs->fields[1].', '.$rs->fields[2]); $rs->MoveNext(); } // 3. PEAR- стиль $rs = $parser->conn->SelectLimit("SELECT objid, name_en, name_ru FROM sys_objects WHERE ob-jtype='sys_elements_pages'", 10); while ($row = $rs->FetchRow()) { print('
'.$row[0].', '.$row[1].', '.$row[2]); $rs->MoveNext(); }
Отладка
Определив свойство $parser->conn->debug в true, вы сможете увидеть весь стек запросов к базе данных.
$sql = "INSERT INTO sys_objects (objid,name_en,objtype) "; $sql .= "VALUES ('test_page', 'Test page', 'sys_elements_pages')"; //включаем дебаггер $parser->conn->debug = true; if ($parser->conn->Execute($sql) === false) print 'Error inserting';