О PHP и MSSQL

7 апреля 2007 11:42
Tags: MSSQL, PHP
 

В общем двойной зачот.

Недавно правил один из своих сайтиков. Движок был заточен под MySQL и прекрасно с ним работал. Но этот проект пришлось поднимать на MSSQL. Долго извращаясь, у меня это все-таки получилось. Синтаксис неповторимый.

На днях поступила жалоба, что при попытке написать сообщение вываливается ошибка драйвера БД. При ближайшем рассмотрении выяснилось, что не экранируются кавычки. Смешно? Идем дальше. Экранирование кавычек у меня всегда было. А тут нет. Странно. Вспомнить почему именно так я не смог. Причина оказалась смешной. В модуле MSSQL для PHP нет функции аналогичной mysql_escape_string(). УЖОС.

Первое, что пришло на ум, использовать функцию mysql_escape_string(). Но не тут-то было. Проблема осталась, хотя экранирование работало. Помог опыт программирования на VB. Кавычка экранируется ее повторением. Т.е. чтобы кавычка попала внутрь строки, перед ней надо поставить не \, а просто повторить ее. Ржунимагу. Ну как так можно?

Отдельный зачот MS и разработчикам PHP.

Ссылка, которая меня сегодня еще немного порадовала http://nuclight.livejournal.com/107170.html.

В закладки: Запомнить эту страницу В МоёМесто Забобрить Delicious Digg Добавить новость на МойКруг
Matrix 7 мая 2007 23:07
Горыныч, использование PHP на Win32 - это само по себе уже извращение: не нативно, так сказать. Далее, вместо юзания нативных экстеншнов следует смотреть в сторону PDO и если уж таки захотелось сделать PHP + MS SQL, смотреть надо на PDO + ODBC. В таком разрезе никаких проблем с эскейпингом строк не возникает, потом как PDO держит параметризованные SQL-запросы.

ЗЫ. В php много ваты и deprecated extensions, но не надо обсирать язык. Язык то - чудесный :)
gorinich 9 мая 2007 19:04
Я бы мог сказать, что использование PHP это тоже само по себе извращение. Но не буду ;) Шутка.
   Не думайте, что я такой противник PHP. Мне до поры до времени тоже нравился этот язык. Но потом я почувствовал себя ограниченным. Вот так :) А ваты в нем оччень много.
   Вы достаточно грамотно описали свои мысли. Мне понравилось. Просто когда я начинал этот проект, никаких PDO + ODBC не знал. С MySQL все отлично получалось. Использовать MSSQL не я придумал, остался очень недоволен.
   
   Язык PHP я обычно не обсираю, я просто не очень люблю людей, его использующих. Просто очень многие PHP программисты элементарно не умеют программировать, причем чувствуют себя богами :) Есть конечно люди, которые по настоящему умеют круто программировать на PHP. Я тоже считал себя крутым PHP программистом, но однажды понял, что я в тупике. Я пересел на Perl. Не сам, сам бы не осилил. Сейчас я чувствую себя более крутым программистом. Это не я придумал, это мнение моих коллег, которые являются мастерами своего дела.
   Я считаю, что PHP это лучшее, что было придумано за последние 10 лет! Но что именно лучшее? Это лучший шаблонизатор! Это очень и очень крутой шаблонизатор, а не язык программирования. Но многие считают его языком и пишут на нем свои собственные шаблонизаторы. Но не забывайте, что PHP был создан для того, чтобы объединить код и HTML. И каждый, кто пишет на PHP, в 99% случаев использует его не по назначению. Это мое мнение, я к нему долго шел, много ошибок совершил.
   
   PS. Надеюсь, что не оскорбил Вас и мы продолжим наше общение и у нас возникнет множество интересных дискуссий.
Имя*:
E-mail*:
Сайт:
Сообщение*:

Теги

Страницы

Ссылки

Новости XML и обзоры

Друзья

Дамочка в поиске Дамочка в поиске
Отражение в сети

META

Valid XHTML
XHTML Friends Network
RSS 2.0 Feed
Читать в Яндекс.Ленте
Add to Google
количество читателей онлайн и всего
© 2007 Gorinich.net