до кучи, просмто можно прочитать что написано жирным шрифтом http://itdumka.com.ua/index.php?cmd=shownode&node=17
PHP: <?php header('Content-Type: text/plain'); if(isset($_POST['param'])) var_dump($_POST['param']); //string(0) "" $str1 = ""; $str2 = NULL; var_dump($str1, $str2); //string(0) "" //NULL var_dump(empty($str1) == empty($str2)); //bool(true) var_dump(is_null($str1) == is_null($str2)); //bool(false) ?> Дак что правильнее, empty или is_null?
В общем-то спорить безполезно, потому что нужно читать внимательно. addslashes обрабатывает только нуль-байт, двойные и одинарные кавычки, и собственно сам бекслеш. ВСЁ. real_escape_string (причём учтите, ни в MySQLi, ни в PDO нету обычной escape_string - только real_escape_string, а в PDO идёт quote, которая использует нужную функцию из драйвера. В mysqlnd только real_escape_string и есть.) кодирует не только эти символы, но и некоторые дополнительные последовательности, а так же правильно понимает данные с учётом текущей кодировки. А данные в UTF-8 и windows-1251 разнятся в кодах прилично. Что в одном случае безобидная буква, в другом может оказаться кодом символа, который нужно кодировать. Так же обратите внимание на формулировку - real_escape_string не добавляет слешей, она _кодирует_ спец символы, для безопастной вставки в базу. А это фундаментальная разница.
да, верно, дело даже не в безопасности, а в адекватности процесса "положили в базу такое - выбираем и получаем такое же"
Гонишь. Все ваши проблемы решаются просто. Надо отказаться от базы и юзать файлы. БД - ЗЛО!!! Ацкое зло. Юзайте файлы и будет вам счастье.
БД - это магия. Какие файлы?! А если у меня табличка в памяти? Причём тут файлы?! Под каким ещё управлением. Пресловутый SQL? Да настоящие папы юзают чистые файлы без всякой SQL-магии.
тролля заказывали А вообще возможно проскочить SQL-injection при использовании кодировки utf-8 ? например, для экранирования данных, идущих в postgresql я использую addslashes. могут ли сайту передаться данные в юникоде-16, когда сайт написан на ютф-8 ? Ах, да, Пы.Сы. причём тут мать вашу файлы?!