sql >> Databasteknik >  >> RDS >> Mysql

Vad är motsvarigheten till bind_result på PDO

Du behöver inte alls ett fult bind_result med PDO.

Men du behöver inte räkna heller. Undvik onödiga åtgärder - de sväller bara upp och fördunklar din kod utan anledning.

Tänk först, vad du behöver från frågan? Behöver du verkligen räkna? Nej. Vad du egentligen behöver är bara en flagga - om det finns en användare eller inte. Så gör en fråga för att returnera en sådan flagga.

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

Detsamma gäller för alla andra delar av koden

//escape the POST data for added protection

Du "flykter" faktiskt inte någon data i detta kodblock och lägger inte till något skydd. Ändå ser jag absolut ingen mening med att infoga NULL som e-post. Är du säker på att du verkligen vill ha det?



  1. Flytta systemdatabaser i SQL Server-failover-klustret

  2. Få kolumnnamn istället för kolumnvärde

  3. SQL LIKE-operatör för nybörjare

  4. Är det möjligt att ha en indexerad vy i MySQL?