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

Er PDO-udsagn automatisk escaped?

Kun forberedte udsagn giver automagisk escape, forudsat at du ikke har nogle grimmeligheder som magiske citater aktiveret. Og kun dataene i parametrene er escaped, ikke noget, der allerede er i SQL-strengen, når du forbereder sætningen.

Hvis du vil have fordelene ved automatisk escape, skal du udarbejde en erklæring og give den dataene separat.

$sth = $dbh->prepare("SELECT * FROM users WHERE username=? AND password=?");
$sth->execute(array($username, $password));

Ellers får du lidt eller ingen beskyttelse over mysqli_query og venner. (Jeg nægter overhovedet at nævne mysql_query , fordi ingen PHP-programmør med respekt for sig selv bruger det længere. Åh, vent... fanden. Nå, det er den eneste omtale, det bliver her.)



  1. MySQL, forespørgselstæller resultater og visning i PHP-side

  2. Brug COL_LENGTH() til at få en kolonnes længde i SQL Server

  3. Udfyldning af en rullemenu med databaseresultater i Laravel 4

  4. Udfør øjeblikkeligt inden for Oracle-proceduren