To, co citujete, je pravděpodobně z dokumentu, ale pokud vím, nemusí to být nutně pravda.
addslashes
přidává lomítka ke znakům, které jsou běžně rušivé. mysql_real_escape_string
unikne všemu, co MySQL potřebuje uniknout. Může to být více nebo méně znaků, než kolik addslashes
se stará.
Také mysql_real_escape_string
nemusí nutně přidávat lomítka k úniku. I když si myslím, že to funguje, když to uděláte tímto způsobem, poslední verze MySQL unikají uvozovkám tak, že je dají dohromady dvě, místo abyste před ně dali lomítko.
Domnívám se, že byste měli vždy používat funkci escape svého poskytovatele dat namísto addslashes
, protože addslashes
může buď udělat příliš mnoho nebo málo práce pro účel, pro který jej používáte. Na druhou stranu mysql_real_escape_string
ví co udělat pro přípravu řetězce pro jeho vložení do dotazu. I když se změní specifikace o tom, jak uniknout věci a najednou už to nejsou zpětná lomítka, která byste měli používat, váš kód bude stále fungovat, protože mysql_real_escape_string
bude si toho vědom.