Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
class recordset {
/*используется для оптимизации работы с MySQL*/
var $res;
function recordset($sql,$link="") {
if ($link!="")
{
$this->res=mysql_query($sql,$link);
if (!$this->res)
{
echo $sql;
echo mysql_error($link);
}
}
else
{
$this->res=mysql_query($sql);
if (!$this->res)
{
echo $sql;
echo mysql_error();
}
}
}
function gr() {
$row=mysql_fetch_row($this->res);
if ($row) {for ($i=0;$i<count($row);$i++) $row[$i]=convert_cyr_string($row[$i],"k","w");}
return $row; }
function ga() {
$row=mysql_fetch_array($this->res);
if ($row) {foreach($row as $key=>$val) $row[$key]=convert_cyr_string($val,"k","w");}
return $row; }
function nr() {
$num=mysql_num_rows($this->res);
return $num; }}
еще один перл того же автора, что и в 2х предыдущих опубликованных мной говнокодах.
На этот раз старорежимный ООП - великолепный класс.
Неправда, польза есть, хотя её очень мало.
Польза в том, что все методы обращения к БД собраны в одном классе - переезд на другую СУБД существенно упрощается.
А вот если учесть, что проекты с подобным кодом никогда не переезжают с одной СУБД на другую, то полностью с Вами согласен - класс бесполезен.
ну брешут же они! Независимость от драйвера и PDO делает, а запросы-то все равно разные. Напишите мне код, который выведет первые 10 строк из таблицы, и что бы он работал на MS-SQL и MySQL одинаково.
Польза в том, что все методы обращения к БД собраны в одном классе - переезд на другую СУБД существенно упрощается.
А вот если учесть, что проекты с подобным кодом никогда не переезжают с одной СУБД на другую, то полностью с Вами согласен - класс бесполезен.
да, особенно когда там SQL запрос передается параметром.
Переехать с базы на базу не изменив SQL запрос -- это миф
http://pear.php.net/package/DB/
$db->select('email','passhash')->from('users')->limit('10');
а нижележащий код формирует дб-зависимый вопрос и возвращает результат
$this->select()
->from(array('g' => 'games'), array('title', 'asin', 'platform_id'))
->join(array('r' => 'ranks'), 'g.id = r.game_id', array('rank'))
->order('r.rank')
->limit($top);
$resultRows = $this->fetchAll($query);
кошмар-то какой
или нужен расширенный sql стандарт, что бы писать без таких извращений