12.10 Anführungszeichen maskieren
Problem
Sie müssen Text- oder Binärdaten für eine Abfrage sicher machen.
Lösung
Schreiben Sie alle Ihre Abfragen mit Platzhaltern, damit prepare( )
und execute( )
die Strings für Sie maskieren können. „12.8 Abfragen effizient wiederholen“ zeigte die verschiedenen Arten, Platzhalter zu nutzen.
Müssen Sie das Maskieren selbst vornehmen, müssen Sie die Methode PDO::quote( )
nutzen. Eine der seltenen Gelegenheiten, bei denen Sie dazu gezwungen sein könnten, ist das Maskieren von SQL-Jokerzeichen, die aus Benutzereingaben stammen, wie Sie es in Listing 12.24 sehen.
<?php $safe = $db->quote($_GET['searchTerm']); $safe = strtr($safe,array('_' => '\_', '%' => '\%')); $st = $db->query("SELECT * FROM zodiac WHERE planet LIKE ...
Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.