<rmcreative>

RSS

Все заметки с тегами «Отладка, MySQL»

Можно уточнить:

    (1)
  1. Сообщения об ошибках и хороший код

    17 апреля 2011

    Как ни странно, очень многие разработчики пренебрегают более строгими режимами работы тех же PHP и MySQL. Странно это, прежде всего, потому, что включение таких режимов позволяет получать больше информации о потенциальных ошибках в коде и, соответственно писать код лучше.

    В PHP самый строгий уровень ошибок можно получить записав в php.ini:

    error_reporting  =  -1
    

    Это позволяет выявить такие слабые места, как, например, использование переменных без их объявления. Да и банальные описки выявляются сразу, а не после пары часов жёсткого дебага.

    В MySQL тоже есть строгий режим, который не позволяет, например, вставить строку длиной в 200 символов в поле varchar(20). В «умолчательном» режиме MySQL молча вставит первые 20 символов, выкинув остальные. В строгом — получим соответствующую ошибку. Включается этот режим через my.cnf:

    [mysqld]
    sql-mode = "STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE"
    

    Все значения sql-mode можно подсмотреть в официальной документации.

    22 комментария