Метод $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';