[Из песочницы] Раскрываем магию MySQL или о строгости и мягкости MySQL
2013-01-21 12:20:07
Очень часто в интернете встречаюсь со статьями, в которых приводят кучу примеров с якобы странным ...
+ развернуть текст сохранённая копия
Очень часто в интернете встречаюсь со статьями, в которых приводят кучу примеров с якобы странным поведением MySQL по сравнению с другими БД. Чтобы стало понятно, о чём я говорю, приведу несколько примеров:
1. Деление на ноль возвращает NULL вместо ошибки
2. Выход за диапазон допустимых значений неявно приводит число к допустимому значению, а не к ошибке и откату транзакции
3. Вставка неверного типа данных также приводит к неявному преобразованию и успешному выполнению операции
Таких примеров я могу привести огромное число, но цель статьи не сделать очередное собрание высосанных из пальца примеров, а объяснить, почему происходит то или иное действие. Вся эта мистика MySQL давно описана в документации и легко объяснима, в чём вы сможете убедиться сами, прочитав статью до конца.
Для меня эта первая статья на хабре, поэтому я старался писать дотошно подробно. Уверен, что она будет полезна всем, кто работает с MySQL. Большую помощь в написании статьи оказала подготовка к сдаче на сертификат разработчика MySQL, а точнее книга «MySQL Certification Study Guide».
Итак, мой друг, начнём!
Читать дальше →
Тэги:
mode,
mysql,
php,
sql,
хитрость
Компания Dell «закрывается»
2013-01-15 00:34:55
Dell, один из крупнейших производителей персональных компьютеров в мире, временно приостановил торги ...
+ развернуть текст сохранённая копия
Dell, один из крупнейших производителей персональных компьютеров в мире, временно приостановил торги по акциям. Ходят слухи, что в компании грядут серьезные перемены. Читать далее... Hi-News.ru - Новости высоких технологий. | Комментарии: нет Посмотреть все записи в категории Бизнес и аналитика.
Тэги:
dell,
michael,
аналитик,
бизнес
Конвертер SQLite to MySQL
2013-01-14 08:29:50
Понадобилось мне конвертировать базу из SQLite в MySQL. Начав искать инфу наткнулся на платный софт. ...
+ развернуть текст сохранённая копия
Понадобилось мне конвертировать базу из SQLite в MySQL. Начав искать инфу наткнулся на платный софт. На офф. сайте предлагается изменение через командную строку. Но зачем нам такие сложности? Есть решение намного проще, быстрее, а главное — бесплатно. Для этого нам понадобятся: браузер Firefox и сама база которую надо переконвертировать. Открываем Firefox — и устанавливаем дополнение ...read more
Тэги:
mysql,
sqlite,
разработка
Делаем плагин для WordPress.Ротатор картинок для шапки сайта. Вариант с mySQL
2013-01-10 16:51:01
В прошлой “серии” мы написали код, который позволял выводить в шапку сайта картинки со ссылками, все ...
+ развернуть текст сохранённая копия
В прошлой “серии” мы написали код, который позволял выводить в шапку сайта картинки со ссылками, все данные были прописаны прямо в PHP функции, что не очень красиво – у нас ведь есть доступная БД, с которой работет наш WordPress. В этом посте мы создадим таблицу, в которой будет храниться вся информация о картинках и ссылках [...]
Тэги:
mysql,
php,
wordpress,
плагины
[Из песочницы] PHP класс для удобной и безопасной работы с MySQL
2013-01-08 19:51:06
После написания статьи про защиту от инъекций я взялся за написание класса, реализующего изложенные ...
+ развернуть текст сохранённая копия
После написания статьи про защиту от инъекций я взялся за написание класса, реализующего изложенные в ней идеи.
А точнее, поскольку ключевой функционал уже использовался в рамках рабочего фремворка, я занялся выделением его в самостоятельный класс. Пользуясь случаем, хочу поблагодарить участников PHPClub-а за помощь в исправлении нескольких критических ошибок и полезные замечания. Ниже я постараюсь описать основные особенности, но сначала небольшой
дисклеймерЕсть несколько способов работы с SQL — можно использовать квери-билдер, можно ORM, можно работать с чистым SQL. Я избрал последний вариант, потому что мне он ближе. Я совсем не считаю первые два плохими. Просто лично мне всегда было тесно в их рамках. Но я ни в коем случае не утверждаю, что мой вариант лучше. Это просто ещё один вариант. Который можно использовать, в том числе, и при написании ORM-а. В любом случае, я считаю, что наличие безопасного способа работать с чистым SQL не может принести какой-либо вред. Но при этом, возможно, поможет последним оставшимся приверженцам использования mysql_* в коде приложения, отказаться, наконец, от этой порочной практики.
В двух словах, класс строится вокруг набора функций-хелперов, позволяющих выполнять большинство операций с БД в одну строку, обеспечивая при этом
полную защиту от инъекций, в отличие от стандартных API.
В основу класса положены три базовых принципа:
- Безопасность
- Удобство и краткость кода приложения
- Универсальность, портабельность и простота освоения
Остановлюсь чуть подробнее на каждом из пунктов.
Читать дальше →
Тэги:
injection,
mysql,
mysqli,
php,
placeholder,
prepared,
sql,
statement,
безопасность,
информационный