- 1
https://habrahabr.ru/post/280121/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
https://habrahabr.ru/post/280121/
RestAPI в 2016 году. Отсосите, любители фреймворков и оттестированных библиотек
Нужно собирать запросы в ручную, иначе не получится SQL инъекции.
Но вот за вот этот вот кусочек кода я готов простить ВСЁ:
.
Хиляки пишут классы на своих Java и C#, потом хилякам тулы генерируют .wsdlки, а другим хилякам по этим .wsdlкам генерируются клиенты
Фу!
Пых + рест наше все
Ну и ещё, как оказалось, готовые фреймворки фильтруют не всё:
https://habrahabr.ru/post/140145/
Но вообще пыхопроблемы конечно
В нормальных ЯП и фреймворках вроде Python/Django такого практически нет
Фу, короче, так жить.
PS. Заранее спасибо.
Можно пример, как этот multiple insert выглядит?
реально не поддерживает
одного этого достаточно чтобы никогда не писать на PHP
Один способ называется prepared statements. Другой называется "через жопу" (он же "склеиваем строки вручную").
Существует так же два вида языков: в одних через prepared statements можно описать DML. К таким языкам относятся python с его pep 0249, java с jdbc, с# с ado.net, perl с его DBI/DBD.
К другим языкам (т.н. "очень плохие языки" или "языки в которых нужно вручную склеивать строки") относится PHP.
Вопросы?
А у ПХП такого драйвера нет, и никого это не ебет.
В итоге приходят istemы, говорят что PDO говно, и начинают клеить SQL строки руками
А потом SQL инъекции
с другой стороны, для 89% это не важно
PS: фуу
инкаус знает mysql и php
вот это зашквар
Вот я не шучу сейчас: не существует ни одного повода для меня использовать эти технологии
код можно (если _очень_ повезет) сделать database-агностик и вообще не трогать
У меня есть небольшой проектик на Django/Python, там всё через ORM и если я решу с постгри перейти на другую БД, я могу вообще не трогать паййтоновый код
Но это конечно мне крупно повезло что он такой маленький
В серьезных проектах приходится писать database-specific код
Но все равно его там процентов 10%, не больше
DDL же не обязательно выносить в прикладной уровень, ничего страшного, если это будет init скрипт, запущенный под конкретную базу 1 раз в жизни решения
а вот мат вьюхи, рекурсивный обход, процедуры/пакеты, gis-расширения, олап - т.е. все то, что уже не попадает под "нам насрать в чем хранить данные форума из 3 таблиц, у нас пыхопе", а попадает под "давайте сокращать время селекта наших сложных данных", и надо дергать в рантайме из прикладного уровня - вот это да, это db-specific
З.Ы. Ой, сорри, у вас же транзакций нету. Не подумал.
у кого это "у вас"?
Но лучше конечно $pdo->beginTransaction()
в самой мускуле есть транзакции в InnoDB, нет их в MyISAM только
Я знаю. Но ты думаешь, что те, кто юзает mysql_* и клеит запросы через строки, юзают InnoDB?
Они же либо сознательно пишут под говнохостинги (= myisam only) либо просто долбоёбы...
MyISAM вообще депрекейтед
А еще были такие хостинги где БД 4.0, а клиент от нее 3.23. Потому что админ тупой пидирас базу обновил, а php не пересобрал.
Или например PDO есть, а драйверов к нему ни одного нет
Ты бы хотел участвовать в проекте, у которого нет даже денег на хостинг"?
почему не использовать вконтакте? или ucoz?
5.5.5
PS. И не вижу ничего плохго в mysql_*, тем более если у товарищей прямые руки.
Кроме того процедуры нужно где-то хранить, версионировать, накатывать на сервер, итд.
Ты думаешь, что те, кто юзает mysql_* и клеит запросы через строки знают что такое транзакции?
http://goo.gl/IUz2fN
Ещё вчера клеил стринги, а сегодня уже сайты пишет.
девушки отличаются от яп тем, чем у них чары состоят из стрингов
Такие ещё остались? О_о
А когда мне его не хватает -- я делаю prepared statements
К счастью, я не пишу на PHP
Ну тогда вы и вправду выросли. И если так, то зачем же над детьми смеяться? Лучше научите их как надо делать и как не надо.
http://phpclub.ru/talk/forums/php-%D0%B8-%D0%B1%D0%B0%D0%B7%D1%8B-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85.19/
и завис
не могу остановиться, читаю в захлеб
Кстати, а видели таких кандитатов которые говорят "у меня 10 лет опыта программирования под Oracle". "А напишите запрос для выбора всех польхователей из группы Foo во много-ко-многим" "Ой знаете, я напрямую запросов не писал никогда, у нас DAO и ORM"
Лол.