Avatar ·

Pourquoi ne pas utiliser les fonctions obsolètes mysql_* en PHP et par quoi les remplacer ?

Bonjour à tous ! Je suis un développeur PHP débutant, j'apprends avec de vieux manuels. Dans tous les exemples, la connexion à la base de données MySQL ressemble à ceci : ```php $link = mysql_connect('localhost', 'root', ''); mysql_select_db('my_database', $link); $result = mysql_query("SELECT * FROM users WHERE id = " . $_GET['id']); while ($row = mysql_fetch_assoc($result)) { echo $row['name']; } ``` Tout fonctionne, mais je vois que dans le PHP moderne, ces fonctions génèrent des erreurs. Les logs indiquent qu'elles sont obsolètes. Sur les forums, on dit qu'elles ont même été supprimées dans PHP 7. Je comprends qu'il faut passer à quelque chose de nouveau, mais je ne comprends pas : quel est le problème concret avec mysql_* ? Puisqu'elles fonctionnent. En quoi sont-elles dangereuses ? Et que faut-il utiliser à la place — mysqli ou PDO ? Quelle est la différence ? Je serais reconnaissant pour une explication détaillée avec des exemples, afin que je puisse réécrire mon code correctement. <<>>

Les principales raisons d'abandonner mysql_*

Vous êtes confronté au problème classique du code obsolète. Les fonctions mysql_* ont été supprimées