Hallo.
Ich habe auf meiner Webseite die Mysql-Funktionen durch PDO mit prepared statements ersetzt.
die abfrage sieht so aus: "where x = ? and y = ? usw.."
und dann mit "execute(array($a, $b)) usw.."
Und statt auf jeder Seite ganz oben generell eine DB-Verbindung herzustellen, habe ich nun nur noch eine config-datei eingebunden. die verbindung wird erst durch pdo hergestellt dort wo sie gebraucht wird.
Wenn ich nun meine alte Mysql-Verbindung rausnehme funktioniert die Funktion mysql_real_escape_string nicht mehr und erzeugt Fehlermeldungen.
Ich dachte das wäre eine PHP-Funktion, aber anscheinend braucht sie eine DB-Verbindung.
Welchen ersatz gibt es um eingaben für PDO zu escapen, oder ist das gar nicht mehr nötig?
Ich habe was gelesen von parameter binding, aber weiß nicht ob ich das indirekt schon gemacht habe (siehe oben mit den fragezeichen).
Homepage selbermachen 7.846 Themen, 35.563 Beiträge
Hallo.
Danke für die Erklärung.
Ich habe nun nur noch ein $_GET['xy'] und ein settype="string" bzw. "integer" vor den PDO-"Aktionen" stehen.
Da wo ich ganz sicher gehen will mach ich es nun mit if und meinen erlaubten Werten.
z.b.
if($jahr == 2005 or
$jahr == 2006 or
$jahr == 2007){
weiter..
}else{
ansonsten..
}
thx
h.