Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
esterio
Всё норм, такое бывает )
LIME
Интересно ) получается подсветка глючная? Если сравнить два последних запроса от esterio, то в предпоследнем подстветка получается такой, что DROP TABLE выглядит такого же цвета, как и SELECT, FROM и WHERE, что наводит на мысль "послушного исполнения скрипта", а во втором примере уже подсветка иная, т.е уже DROP TABLE подсвечивается как обычный текст и игнорируется в запросе.. как то так
LIME
Отправлено: 11 Июня, 2013 - 15:32:29
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
во-первых интерпретатор не знает что на этом сайте есть подсветка и надо руководствоваться ей))
во-вторых это ограничение драйвера пыха
просто не выполняются несколько команд бд подряд через ;
для этого в mysqli есть отдельная ф-ция(см выше)
teddy
Отправлено: 11 Июня, 2013 - 15:35:16
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
LIME
Да, ссылку смотрел ) мульти запросы встречал ) Думал подсветка соответствует каким то общим правилам интерператора )
DelphinPRO
Отправлено: 11 Июня, 2013 - 15:43:48
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
teddy пишет:
Странно, я почему то думал в БД должно добавляться уже экранированные данные, иначе какой толк от функции?
Тут следует понять один момент. Экранирование - это указание синтаксическому анализатору о том, что экранированные символы не следует воспринимать как служебные. Если мы пишем в базу строку «string'string», то кавычку следует экранировать, т.к. это служебный символ, служащий для ограничения данных. Получая строку без экранирования, анализатор сочтет кавычку окончанием значения (строки данных), а дальше - либо инъекция, либо синтаксическая ошибка, смотря что подсунули. Если мы отдадим экранированную строку «string\'string», анализатор поймет, что кавычка - это просто текст, и запишет ее в базу как текст. Слеш в данном случае - служебная информация, и он в базу не попадает. в базе вы увидите свою строчку в чистом виде: «string'string».
Резюмируя: экранирование, это способ записать в базу управляющие символы как простой текст.
----- Чем больше узнаю, тем больше я не знаю.
AlexAnder
Отправлено: 11 Июня, 2013 - 15:49:22
Частый посетитель
Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012 Откуда: Россия
Помог: 34 раз(а)
Цитата:
экранирование, это способ записать в базу управляющие символы как простой текст.
echo 'D'artanyan'; // => 'D\'artanyan'; or "D'artanyan";
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
AlexAnder, у нас дискуссия идет в контексте работы с БД
----- Чем больше узнаю, тем больше я не знаю.
teddy
Отправлено: 11 Июня, 2013 - 15:50:59
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
DelphinPRO
Отписались в тему прочел почти тоже самое в статье на хабре, ваш ответ и прочитанное мною в статье совместилось в одно целое и таким образом я окончательно нашел ответ на этот вопрос! )
А вообще радует, что есть такой форум и люди, которые помогают ) Что бы я без вас делал... Разработчикам данного проекта отдельное спасибо, вы просто молодцы!
teddy
Отправлено: 12 Июня, 2013 - 18:38:51
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
Сделал чуть по другому, это нормально, что внутри каждого метода я пишу self::connectDB(); - что бы дать понять про открытое соединение?
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
teddy
Да, singleton очень часто используют там где не надо, но в данном случае singleton вполне уместен...
И не надо быть фанатом паттернов или же наоборот, просто надо думать своей головой, а не паттернами...
----- Так было, так есть и так будет
teddy
Отправлено: 12 Июня, 2013 - 20:06:06
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
AlexAnder
T_PAAMAYIM_NEKUDOTAYIM возникает тогда, когда косячим с этими самыми ::, здесь оно походу не уместно, во всяком случае у меня нет подобной ошибки...
vanicon
Вот-вот ) Именно в том то и дело, что прочитал кучу всего и встретил почти такую же мысль, что бы использовать шаблоны нужна высокая квалификация а не для того что бы "было"...
Информации в сети много, порой ваще не понимаешь что делать и как, пока собственные шишки не набьешь )
LIME
Отправлено: 12 Июня, 2013 - 20:08:39
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.