Alleen voorbereide verklaringen bieden automagische ontsnapping, ervan uitgaande dat je geen lelijkheid zoals magische aanhalingstekens hebt ingeschakeld. En alleen de gegevens in de params worden ontsnapt, niet iets dat al in de SQL-tekenreeks staat wanneer u de instructie voorbereidt.
Als u de voordelen van automatisch ontsnappen wilt, moet u een verklaring opstellen en deze afzonderlijk invoeren.
$sth = $dbh->prepare("SELECT * FROM users WHERE username=? AND password=?");
$sth->execute(array($username, $password));
Anders krijgt u weinig tot geen bescherming over mysqli_query
en vrienden. (Ik weiger het zelfs maar te vermelden mysql_query
, omdat geen enkele zichzelf respecterende PHP-programmeur het meer gebruikt. Oh, wacht..verdomme. Nou, dat is de enige vermelding die het hier krijgt.)