Това, което цитираш, вероятно е от документа, но доколкото знам не е непременно вярно.
addslashes
добавя наклонени черти към знаци, които обикновено са смущаващи. mysql_real_escape_string
избягва всичко, което MySQL трябва да бъде екранирано. Това може да има повече или по-малко знаци от това, което addslashes
се грижи за.
Също така, mysql_real_escape_string
не е задължително да добавя наклонени черти, за да избяга. Въпреки че мисля, че работи, ако го направите по този начин, последните версии на MySQL избягват кавички, като съберат два от тях, вместо като поставят наклонена черта пред тях.
Вярвам, че винаги трябва да използвате escape функцията на вашия доставчик на данни вместо addslashes
, защото addslashes
може да върши твърде много или недостатъчно работа за целта, с която го използвате. От друга страна, mysql_real_escape_string
знае какво да направите, за да подготвите низ за вграждането му в заявка. Дори ако спецификациите се променят за това как да избягвате неща и изведнъж вече не трябва да използвате обратна наклонена черта, кодът ви ще продължи да работи, защото mysql_real_escape_string
ще бъде наясно с това.