Magic_quotes disparait de PHP 6 .

La conclusion d'un article clair et synthétique de Damien sur PHP France proposait déjà de ne plus utiliser magic_quotes() :

Pour résumer, les magic quotes ont été créées pour les débutants, et font de PHP un des languages les moins sensibles à l'injection SQL. Néanmoins, une fois que vous comprenez bien leur fonctionnement, il est préférable de les désactiver et de protéger vos données vous même à l'aide des fonctions d'échappement de votre SGBD. C'est plus efficace et plus portable !

Dans un document au titre explicite ("Pourquoi ne pas utiliser les guillemets magiques?"), le site de PHP version FR redit la même chose, de manière plus ramassée :

Portabilité : Cette directive peut être activée ou désactivée suivant les serveurs et cela affecte grandement la portabilité. Utilisez get_magic_quotes_gpc() pour vérifier s'ils sont actifs ou pas, et adaptez votre application. Performances : Comme ce n'est pas toutes les données qui sont finalement placées dans une base, il y a un coût en vitesse pour protéger toutes ces données. Le simple appel des fonctions de protections en fonction des besoins est plus efficace (addslashes()). Même si php.ini-dist active ces options par défaut, php.ini-recommended les désactive. Cette recommendation est surtout faite pour des raisons de vitesse. Peu pratique : Comme toutes les données n'ont pas forcément besoin de protection, il est souvent désagréable de voir des données protégées là où ça ne sert à rien. Par exemple, lorsque vous envoyez par mail un formulaire, et que vous voyez des anti-slashs parsemer le message. Pour corriger cela, il faut faire un usage fréquent de stripslashes().