Прав сте.
Вълшебните кавички нямат нищо общо с sql нещата и не трябва да бъдат свързани с тях.
Тъй като магическите кавички са проблем за целия сайт, а избягването на sql е проблем, свързан само с sql.
Така че те се нуждаят от различно лечение и никога не трябва да се използват заедно.
Трябва безусловно да се отървете от магическите кавички, защото те развалят не само SQL неща, но и всяка манипулация на данни на вашия сайт.
Така че би било разумно да поставите малко наклонени черти код в който и да е файл за стартиране, който да се изпълнява при всяко извикване на скрипта. Кодът, който можете да намерите в многобройни реализации на такъв код, просто потърсете в Google функцията „stripslashes_deep“.
Би било разумно този код винаги да се изпълнява (разбира се при условие за проверка на get_magic_quotes_gpc()) независимо от действителното състояние на магическите кавички, само за съвместимост.
Но има и друга възможност да ги изключите:опитайте да създадете файл php.ini в корена на приложението си.
Има обаче сериозна грешка във вашия код. Всъщност не защитава нищо.
Избягате от $memberid
и $postid
но не ги цитирайте! . Следователно няма никаква защита. Просто защото екранирането работи само когато се използва с цитиране.
Моля, запомнете:
Избягането не е синоним на сигурност!
Самото бягство не може да помогне с нищо. Има цял набор от правила, които трябва да се спазват.
Наскоро написах прилично обяснение, така че няма да се повтарям:Замяна на mysql_* функции с PDO и подготвени изявления