"PHP" / Говнокод #3884 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
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х предыдущих опубликованных мной говнокодах.
На этот раз старорежимный ООП - великолепный класс.

Запостил: Mihard Mihard, (Updated )

Комментарии (14) RSS

    • Неправда, польза есть, хотя её очень мало.
      Польза в том, что все методы обращения к БД собраны в одном классе - переезд на другую СУБД существенно упрощается.

      А вот если учесть, что проекты с подобным кодом никогда не переезжают с одной СУБД на другую, то полностью с Вами согласен - класс бесполезен.
      Ответить
      • >>на другую СУБД существенно упрощается.

        да, особенно когда там SQL запрос передается параметром.

        Переехать с базы на базу не изменив SQL запрос -- это миф
        Ответить
          • ну брешут же они! Независимость от драйвера и PDO делает, а запросы-то все равно разные. Напишите мне код, который выведет первые 10 строк из таблицы, и что бы он работал на MS-SQL и MySQL одинаково.
            Ответить
            • псевдокод:
              $db->select('email','passhash')->from('users')->limit('10');
              а нижележащий код формирует дб-зависимый вопрос и возвращает результат
              Ответить
                • по-зендовски (стырил код со stackoverflow):
                  $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 стандарт, что бы писать без таких извращений
                      Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8