1. PHP / Говнокод #10179

    +87

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    function  get_info($id)  {
    					$query = "SELECT  * FROM `static` WHERE `id`='$id'  LIMIT 1";
    					$sql= mysql_query($query) or die(mysql_error());
    					$row = mysql_fetch_assoc($sql);
    					$masiv=array();
    					$masiv['keywords']=$row['keywords'];
    					$masiv['menu']=$row['menu'];
    					$masiv['description']=$row['description'];
    					$masiv['title']=$row['title'];
    					$masiv['link']=$row['link'];
    					$masiv['name']=$row['name'];
    					$masiv['name_show']=$row['name_show'];
    					$masiv['content']=$row['content'];
    					$masiv['id']=$row['id'];
    					$masiv['parant_id']=$row['parant_id'];
    					$masiv['show']=$row['show'];
    					$masiv['addons']=$row['addons'];
    					$masiv['redirect']=$row['redirect'];
    					$masiv['parant_id']=$row['parant_id'];
    					return $masiv;
    				}

    Занимался переводом сайта в UTF-8, наткнулся на такую вот функцию.

    Запостил: baldrs, 03 Мая 2012

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

    • >>>$sql = mysql_query($query) or die(mysql_error());

      как то тоже использовал такой синтаксис, не помню, как конкретно выглядело в моем случае, но
      не вернет ли эта строка булевое значение?
      Ответить
      • она вернет либо результат запроса либо остановит скрипт с ошибкой. а вообще это пример работы с mysql прямо с php.net
        Ответить
      • Тут даже моих очень скромных познаний в SQL хватит, чтобы понять, что
        "SELECT keywords, menu...parant_id FROM `static` WHERE `id`='$id'  LIMIT 1"

        и потом уже не нужно было бы фильтровать массив, можно прямо результат выполнения запроса вернуть.

        Кстати, 90% уверенность, что parant_id на самом деле parent_id.
        Ответить
        • а это все поля из базы и есть, поэтому select * остается актуальным. кстати, в базе именно парант_айди и написано =)

          а почему вот так нельзя было, я хз )

          function get_info($id) {
              $sql = mysql_query("SELECT  * FROM `static` WHERE `id`=".intval($id));
              return mysql_fetch_assoc($sql);
          }
          Ответить
        • Нет-нет, звёздочка обязательно нужна. Не переписывать же все запросы, если поле какое-то понадобится ещё.
          Ответить
    • parant_id и masiv! фееричнее, только $tt и $k => $v
      Ответить

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