Модуль к библиотеке DBSimple для mysqli c поддержкой вызова хранимых mysql процедур и т.д.
Недавно возникла проблема с вызовом хранимых процедур в mysql.
Стандартный модуль от Котерова не позволяет их использовать.
Вот я и решил раз у меня есть такая штука — может кому то еще она будет полезна.
Модуль создан на основе стандарной библиотеки mysql от Котерова c добавлением минимальных изминений. И требует только mysqli расширение к php.
При этом старый mysql модуль тоже работает.
Для установки нужно заменить код файла /engine/lib/external/Generic.php
и добавить новый файл /engine/lib/external/DbSimple/Mysqli.php
Файлы можно скачать от сюда
Ну и немного поправить класс DbSimple_MysqlWrapper из файла /engine/lib/external/DbSimple/Mysqwrapper.php по принципу моего DbSimple_Mysqli::_performQuery
вот пример:
Стандартный модуль от Котерова не позволяет их использовать.
Вот я и решил раз у меня есть такая штука — может кому то еще она будет полезна.
Модуль создан на основе стандарной библиотеки mysql от Котерова c добавлением минимальных изминений. И требует только mysqli расширение к php.
При этом старый mysql модуль тоже работает.
Для установки нужно заменить код файла /engine/lib/external/Generic.php
и добавить новый файл /engine/lib/external/DbSimple/Mysqli.php
Файлы можно скачать от сюда
Ну и немного поправить класс DbSimple_MysqlWrapper из файла /engine/lib/external/DbSimple/Mysqwrapper.php по принципу моего DbSimple_Mysqli::_performQuery
вот пример:
function _performQuery($queryMain)
{
$this->_lastQuery = $queryMain;
$this->_expandPlaceholders($queryMain, false);
$oProfiler=ProfilerSimple::getInstance();
$iTimeId=$oProfiler->Start('query',$queryMain[0]);
$result = @mysqli_query($this->link, $queryMain[0]);
$oProfiler->Stop($iTimeId);
if (mysqli_errno($this->link)) return $this->_setDbError($queryMain[0]);
if (!is_resource($result)) {
if (preg_match('/^\s* INSERT \s+/six', $queryMain[0])) {
// INSERT queries return generated ID.
return @mysqli_insert_id($this->link);
}
// Non-SELECT queries return number of affected rows, SELECT - resource.
return $result;
//return @mysqli_affected_rows($this->link);
}
return $result;
}
0 комментариев