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.