Servus,
ich versuche schon die ganze Zeit, folgendes um zusetzen: Ich möchte eine Art Ersatzfunktion für bindParam erstellen die die Sache etwasübersichtlicher machen soll. Dazu habe ich die PDO Klasse erweitert:
class ePDO extends PDO
{
/**
* Secure PDO Prepare
*
* @param string $Query
*/
public function SQL($Query)
{
if(strpos($Query, 'WHERE') === false && strpos($Query, 'INSERT') === false)
{
die('ERROR: No WHERE clause defined.');
}
return $this->prepare($Query);
}
/**
* Binding numbers to same Postname
*/
public function Number($Name)
{
return ? bindParam(':'. $Name, $_POST[$Name], PDO::PARAM_INT);
}
}
Die "SQL" Funktion habe ich gemacht, nachdem ich ein update in meiner Datenbank ausgeführt habe und irgendwann gemerkt habe, dass ich alle Daten überschrieben habe bei bestimmten Werten. Ist mir natürlich erst aufgefallen, als ich die Backups gelöscht habe, wo die noch korrekt waren... Die funktioniert auch wie gewünscht. Nur ich weiß nicht, wie ich das mit dem bindParam machen soll. Der Einfachheit halber, habe ich das erstmal auf public gesetzt.
Statt
$Q = $do->db->SQL
$Q->bindParam
möchte ich
$Q = $do->db->SQL
$Q->Numbers
haben.
Habe dabei schon einige sachen ausprobiert. Selbst die Funktion direkt an
$Q = $do->db->SQL('Query')->Numbers
hängen geht nicht. Anscheinend fehlt mir da noch das richtige Verständnis, wie man richtig innerhalb von Klassen auf die Methoden zugreift.
Kann mir jemand weiterhelfen und ggf. die Lösung für das Problem geben?
Danke, Bernd