|
|
|
| Надо ли использовать mysql_escape_string перед записью сериализованного массива? | |
|
|
|
|
|
|
|
для: Eugene77
(02.06.2012 в 07:17)
| | Сам же отвечу - надо. | |
|
|
|
|
|
|
|
для: Eugene77
(02.06.2012 в 07:17)
| | mysql_escape_string() или какой-то эквивалент нужно использовать всегда, когда вы записываете строки, даже если в них пока нет кавычек. Другое дело, что некоторые строки заранее экранированы режимом магических кавычек и нужно следить, чтобы не произвести экранирование повторно. | |
|
|
|
|
|
|
|
для: cheops
(02.06.2012 в 10:39)
| | У меня так и получается, что по несколько раз экранирую.
Надо класс что-ли какой-то придумать, чтобы повторного экранирования недопускал.
Но пока воображения не хватает... | |
|
|
|
|
|
|
|
для: Eugene77
(03.06.2012 в 09:35)
| | Лучше всего убирать экранирование, даже если его навел режим магических кавычек, а экранировать уже непосредственно перед выполнением SQL-запроса - это самый надежный способ избежать повторного экранирования. | |
|
|
|
|
|
|
|
для: cheops
(03.06.2012 в 10:19)
| | >Лучше всего убирать экранирование, даже если его навел режим магических кавычек, а экранировать уже непосредственно перед выполнением SQL-запроса - это самый надежный способ избежать повторного экранирования.
Так получается больше кода. Одна функция обрабатывает полученную строку, другая, обрабатывает её же перед записью в базу.
А хочется сделать короче - всё в одной функции. | |
|
|
|
|
|
|
|
для: Eugene77
(04.06.2012 в 15:02)
| | Кода получается больше, но он надежнее. Понятно, что такой подход хорошо применять в новом проекте, применить его в уже существующем довольно затруднительно. | |
|
|
|
|
|
|
|
для: Eugene77
(02.06.2012 в 07:17)
| | Использовать надо mysql_real_escape_string | |
|
|
|