Mysql
 sql >> Base de données >  >> RDS >> Mysql

Quel est l'équivalent de bind_result sur PDO

Vous n'avez pas du tout besoin d'un bind_result laid avec PDO.

Pourtant, vous n'avez pas non plus besoin de compter. S'il vous plaît, évitez les actions inutiles - elles ne font que gonfler et obscurcir votre code sans raison.

Réfléchissez d'abord, de quoi avez-vous besoin dans la requête ? Avez-vous vraiment besoin de compter ? Non. Ce dont vous avez réellement besoin est juste un indicateur - si l'utilisateur existe ou non. Donc, faites une requête pour renvoyer un tel indicateur.

$stmt = $this->pdo->prepare("SELECT 1 FROM users WHERE email=?");
$stmt->execute(array($_POST['email']));
$exists = $stmt->fetchColumn();

Il en va de même pour toutes les autres parties du code

//escape the POST data for added protection

Vous n'"échappez" réellement aucune donnée dans ce bloc de code et n'ajoutez aucune protection. Pourtant, je ne vois absolument aucun intérêt à insérer NULL comme e-mail. Êtes-vous sûr de le vouloir vraiment ?