В PHP-платформе Wad-er объект соединения с базой данных ADONewConnection создается один раз и в дальнейшем доступен из любой точки приложения как свойство conn класса PageParser ($parser->conn). Именно через поля и методы данного объекта и будет в дальнейшем вестись работа с базой данных.
Вот некоторые примеры использования методов ADONewConnection.
Простой пример запроса к БД с использованием методов ADONewConnection
Выбираем из базы все опубликованные на сайте страницы:
$sql = "SELECT name_" . $parser->lang_suff. ", description
FROM sys_objects
WHERE objtype='sys_elements_pages'
AND bool3=1
ORDER BY creaton DESC";
$rs = $parser->conn->Execute($sql);
$res = '';
$ares = array();
if(!$rs) return '';
while($row = $rs->FetchRow())
{
print $row[0] . "
" . $row[1] . "
";
}
Примечание. PHP-платформа Wad-er не использует префиксы таблиц, потому что ADODB с ними не работает. Все системные таблицы жестко привязаны к префиксу sys_, т.е. названия системных таблиц начинаются на этот префикс (sys_objects, sys_log, sys_comments и т.д.).
Обновление таблицы
$colval = "String";
$key = "sys_pages_main";
$ok = $parser->conn->Execute("UPDATE sys_objects SET description =?
WHERE objid=?",array($colval, $key))
or die("Error in query: $query. " . $parser->conn->ErrorMsg());
Примечание. В запросах могут использоваться плейсхолдеры. В качестве плейсхолдеров выступает вопросительный знак (?) . Если в запросе используются плейсхолдеры, вторым параметром метода Execute обязательно должен бать масив значений для замены плейсхолдеров.
Извлечение результатов запроса
Может извлекаться ячейка, одна строка, все строки, ассоциативный массив.
//одна ячейка
$val = $parser->conn->GetOne("SELECT col FROM table WHERE key='John'");
//одна строка
$row = $parser->conn->GetRow("SELECT col FROM table WHERE key='John'");
//все строки
$arr = $parser->conn->GetAll("SELECT col FROM table");
//ассоциативный массив $key=>col
$arr = $parser->conn->GetAssoc("SELECT key,col FROM table");