sql >> Database teknologi >  >> RDS >> Mysql

Hvad svarer til bind_result på PDO

Du behøver slet ikke et grimt bind_result med PDO.

Men du behøver heller ikke tælle. Undgå unødvendige handlinger - de svulmer kun op og slører din kode uden grund.

Tænk først, hvad du har brug for fra forespørgslen? Behøver du virkelig at tælle? Nej. Det, du faktisk har brug for, er bare et flag - hvis brugeren eksisterer eller ej. Så lav en forespørgsel for at returnere et sådant flag.

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

Det samme gælder for alle de andre dele af koden

//escape the POST data for added protection

Du "undslipper" faktisk ikke nogen data i denne kodeblok og tilføjer ingen beskyttelse. Alligevel ser jeg absolut ingen mening i at indsætte NULL som e-mail. Er du sikker på, at du virkelig vil have det?



  1. MySQL:Er det muligt at 'fylde' en SELECT med værdier uden en tabel?

  2. Trin til at installere MySQL8 på CentOS

  3. Hvordan planlægger man et job i Oracle SQL Developer?

  4. ORA-21700:objekt eksisterer ikke eller er markeret til sletning for Associative Array som inputparameter kaldet fra ODP.NET