Hallo liebe Gemeinde,
ich habe folgendes Problem. Um SQL Injections in meiner Webseite zu umgehen, hab ich dafür eine Funktion geschrieben. Ungefähr so:
PHP-Code:
<?php
$sSql = sprintf("SELECT `col1`, `col2` FROM `table` WHERE `id` = %u AND `name` = '%s'", $_GET['id'], $this->_quoteValue($_GET['name']));
?>
nun habe ich folgendes Problem. Wenn ich jetzt eine SQL Anweisung habe in der in der WHERE Anweisung ein LIKE vorkommt, versucht sprintf() dieses natürlich mit zu verarbeiten.
Bsp:
Code:
SELECT `Id` FROM `tabelle` WHERE `name` LIKE '%wurst%'
bei mir müsste das dann ja so aussehen.
Code:
SELECT `Id` FROM `tabelle` WHERE `name` LIKE '%%s%'
wie kann ich php begreiflich machen, dass es das erste und das letzte % "in ruhe lassen soll" ??
habs schon mit / oder \ versucht, oder auch %%.. aber das funktioniert alles nicht. und bei der suche nach eine lösung, hab ich nichts gefunden.
ich würde mich freuen, wenn da jemand was wüsste.
viele grüße
lindner