Mysql
 sql >> база данни >  >> RDS >> Mysql

Когато избягвам целия вход, понякога той оставя наклонени черти (\) в низа и го вмъква в базата данни. Защо се случва и как мога да разреша това?

Прав сте.
Вълшебните кавички нямат нищо общо с sql нещата и не трябва да бъдат свързани с тях.
Тъй като магическите кавички са проблем за целия сайт, а избягването на sql е проблем, свързан само с sql.

Така че те се нуждаят от различно лечение и никога не трябва да се използват заедно.

Трябва безусловно да се отървете от магическите кавички, защото те развалят не само SQL неща, но и всяка манипулация на данни на вашия сайт.

Така че би било разумно да поставите малко наклонени черти код в който и да е файл за стартиране, който да се изпълнява при всяко извикване на скрипта. Кодът, който можете да намерите в многобройни реализации на такъв код, просто потърсете в Google функцията „stripslashes_deep“.

Би било разумно този код винаги да се изпълнява (разбира се при условие за проверка на get_magic_quotes_gpc()) независимо от действителното състояние на магическите кавички, само за съвместимост.

Но има и друга възможност да ги изключите:опитайте да създадете файл php.ini в корена на приложението си.

Има обаче сериозна грешка във вашия код. Всъщност не защитава нищо.
Избягате от $memberid и $postid но не ги цитирайте! . Следователно няма никаква защита. Просто защото екранирането работи само когато се използва с цитиране.

Моля, запомнете:

Избягането не е синоним на сигурност!

Самото бягство не може да помогне с нищо. Има цял набор от правила, които трябва да се спазват.

Наскоро написах прилично обяснение, така че няма да се повтарям:Замяна на mysql_* функции с PDO и подготвени изявления



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Group By и Sum общата стойност на друга колона

  2. MySQL кумулативна продуктова група от

  3. Изберете най-новите MySQL данни, но уникален курорт

  4. Големи .PDF файлове не се качват в MySQL база данни като среден BLOB чрез PHP, файловете под 2MB работят добре

  5. използвате mysql, вграден с qt?