Базы данных
Класс XoopsMySQLDatabase
Написал admin в 07.01.2010 2:50:00 (6192 прочтений)

Данный класс предназначен для зпроссов к базе данных MySQL.

Данный класс является наследником класса XoopsDatabase.

Исходник класса находится в файле XOOPS_ROOT_PATH.’/class/ database/mysqldatabase.php



Класс содержит следующие методы:

 

Подключение к базе данных:

 

$xoopsDB-> connect($selectdb = true);

 

@param bool $selectdb select the database now?

@return bool successful?

 

Вывод результата как перечисленный массив:

 

$xoopsDB->fetchRow($result);

 

@param resource $result

@return array

 

Анологичен @mysql_fetch_row(). Возвращает массив, содержашей данные обработанного ряда, или FALSE, если рядов больше нет. $xoopsDB->fetchRow() обрабатывает один ряд результата, на который ссылается переданный указатель. Ряд возвращается в массиве. Каждая колонка распологается в следующей ячейке массива. Массив начинается с индекса 0. Последующие вызовы функции $xoopsDB->fetchRow() вернут следующие ряды или FALSE, если рядов не осталось.

 

Пример:

 

$result = $xoopsDB->query("SELECT col1, col2, col3, col4 ***");

while ($row = $xoopsDB->fetchRow($result))

{

$row[0];              // Значение col1

$row[1];              // Значение col2

$row[2];              // Значение col3

$row[3];              // Значение col4

}

 

Вывод результата как ассоциативный массив:

 

$xoopsDB->fetchArray($result);

 

@param resource $result

@return array

 

Аналогичен @mysql_fetch_assoc(). Возвращает ассоциативный массив с названиями индексов, соответствующими названиям колонок или FALSE если рядов больше нет.

 

Пример:

 

$result = $xoopsDB->query("SELECT col1, col2, col3, col4 ***");

while ($row = $xoopsDB->fetchArray($result))

{

$row[' col1'];     // Значение col1

$row[' col2'];     // Значение col2

$row[' col3'];     // Значение col3

$row[' col4'];     // Значение col4

}

 

Вывод результата как ассоциативный массив:

 

$xoopsDB->fetchBoth($result);

 

@param resource $result

@return array

 

Аналогичен @mysql_fetch_array(). Возвращает массив с обработанным рядом результата запроса, или FALSE, если рядов больше нет. $xoopsDB->fetchBoth() расширенная версия функции $xoopsDB->fetchRow(). В дополнении к хранению значений в массиве с численными индексами, функция возвращает значения в массиве с индексами по названию колонок.

 

Получение ID автоинкремента после запроса INSERT:

 

$xoopsDB->getInsertId();

 

@return int

 

Аналогичен mysql_insert_id(). Возвращает ID, сгенерированный при последнем INSERT-запросе. Данный метод должен применятся сразу после вставки в БД.

 

Пример:

 

$xoopsDB->query('INSERT INTO ***');

$id = $xoopsDB->getInsertId();

 

Получение числа рядов в запросе:

 

$xoopsDB->getRowsNum($result);

 

@param resource query result

@return int

 

Аналогичен @mysql_num_rows(). Возвращает количество рядов результата запроса. Эта команда работает только с запросами SELECT.

 

Пример:

 

$result = $xoopsDB->query("SELECT ***");

$count = $xoopsDB->getRowsNum($result); // Вернёт число рядов в запросе

 

Получить число затронутых рядов:

 

$xoopsDB->getAffectedRows();

 

@return int

 

Аналогичен mysql_affected_rows(). Возвращает число затронутых прошлой операцией рядов.

 

Закрытие  соединения с MySQL:

 

$xoopsDB->close();

 

Аналогичен mysql_close(). Закрывает соединение с сервером MySQL.

 

Освобождение памяти после запроса:

 

$xoopsDB->freeRecordSet ($result);

 

@param результат запроса

@return bool TRUE в случае успеха, FALSE в случае неудачи

 

Аналогичен mysql_free_result. Освобождает память от результата запроса.

 

Пример:

 

$result = $xoopsDB->query("SELECT ***"); // Делаем запрос

while ($row = $xoopsDB->fetchArray($result)) {***} // Производим операции

$xoopsDB->freeRecordSet ($result);// Очищаем память

 

Получение текста ошибки во время запроса:

 

$xoopsDB->error();

 

@return bool Returns the error text from the last MySQL function, or '' (the empty string) if no error occurred.

 

Аналогичен @mysql_error(). Возвращает строку, содержащую текст ошибки выполнения последней функции MySQL, или '' (пустая строка) если операция выполнена успешно.

 

Пример:

 

$result = $xoopsDB->query("SELECT ***"); // Делаем запрос

If ($result) {***} // Производим операции

else$error = $xoopsDB->error();// Получаем сообщение об ошибки

 

Получение кода ошибки во время запроса:

 

$xoopsDB->errno ();

 

@return int Returns the error number from the last MySQL function, or 0 (zero) if no error occurred.

 

Аналогичен @mysql_errno(). Возвращает код ошибки последней функции работы с MySQL, или 0 (нуль) если операция выполнена успешно.

 

Пример:

 

$result = $xoopsDB->query("SELECT ***"); // Делаем запрос

If ($result) {***} // Производим операции

else $errno = $xoopsDB-> errno();// Получаем код ошибки

 

Экранировка данные перед запросом:

 

$xoopsDB->quoteString($str);

 

@param string $str unescaped string text

@return string escaped string text with single quotes around

 

Добавляет в конец и начало строки одинарные кавычки. Экранирует спецсимволы, двойные кавычки не трогает. Добавляется в запрос к базе данных.

 

Пример:

 

$str = “Привет ' мир \n”;

$where = $xoopsDB->quoteString($str); // Вернёт строку ' Привет\ ' мир \\n '

$result = $xoopsDB->query("SELECT *** WHERE col = ".$where); // Делаем запрос

 

Выполнение запроса форсировано:

 

$xoopsDB->queryF($sql, $limit=0, $start=0);

 

@param string $sql a valid MySQL query

@param int $limit number of records to return

@param int $start offset of first record to return

@return resource query result or FALSE if successful or TRUE if successful and no result

 

Аналогичен mysql_query(). Посылает запрос базе данных сервера. Результат запроса буфферизируется. Запрос происходит форсировано, можно обновлять, удалять базу данных через GET запрос.

 

Выполнение запроса из файла:

 

$xoopsDB->queryFromFile($file);

 

@param string $file file path to an SQL dump file


Теги: Класс   XoopsMySQLDatabase  
Версия для печати Отправить эту статью другу Создать из статьи PDF-файл

Похожие новости

Работа с классом Criteria

Класс Criteria создан для создания критериев выборки из БД. Сначала объявляем класс $criteria = new CriteriaCompo(); Затем вставляем в него элементы $criteriaKeywords-...

Работа с классом Preload

Для начала нужно в нужных модулях создать папку preloads и положить в неё *.php файлы с правильными именами (core.php плагин для файлов ядра). В файлах плагинах...

Класс XoopsPreload

Данный класс предназначен для подключения произвольного кода в системные файлы, не изменяя последние. Он появился в версии XOOPS 2.4.0.

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити

Кто активен

4 пользователь(ей) активно (1 пользователь(ей) просматривают Новости)

Участников: 0
Гостей: 4

далее...

Рекомендуем