Les 2 sont strictement équivalents : les variables sont interpolées (remplacées par leur valeur) quand la chaîne est délimitée par des doubles quotes (reprendre la doc, partie chaîne de caractères au besoin).
L'une comme l'autre permettant une injection SQL, $id n'étant pas casté ...
tu prépares une requête sans l'exécuter et n'ayant pas de marqueur, autant ne pas la préparer (cf PDO::query)
tu n'a pas remplacé mysql_fetch_array par PDOStatement::fetch
il y a des injections SQL => préparer ces requêtes
tu n'as pas tout migré : tant qu'il reste du mysql_*, ton boulot n'est pas fini
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
N'oubliez pas d'activer les erreurs PDO.