sql >> Databáze >  >> RDS >> Mysql

Co je ekvivalent bind_result na PDO

Ošklivý bind_result s PDO vůbec nepotřebujete.

Ani ty však nemusíš počítat. Prosím, vyvarujte se zbytečných akcí – pouze nafukují a zatemňují váš kód bez důvodu.

Nejprve se zamyslete, co z dotazu potřebujete? Opravdu potřebujete počítat? Ne. Ve skutečnosti potřebujete pouze příznak - zda uživatel existuje nebo ne. Proveďte tedy dotaz, který vrátí takový příznak.

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

Totéž platí pro všechny ostatní části kódu

//escape the POST data for added protection

V tomto bloku kódu ve skutečnosti „neuniknete“ žádným datům a nepřidáte žádnou ochranu. Přesto nevidím absolutně žádný smysl vkládat NULL jako e-mail. Jste si jisti, že to opravdu chcete?



  1. MySQL PDO připraveno rychleji než dotaz? To ukazuje tento jednoduchý test

  2. cx_Oracle:Jak mohu přijmout každý řádek jako slovník?

  3. Použití sekvence PostgreSQL v režimu spánku neovlivňuje tabulku sekvencí

  4. SQL Server POKUD NEEXISTUJE Použití?