Sehe ich das richtig, dass du keine Prepared-Statements verwendest?
Gründe u.a.:
*) Besserer Schutz vor
SQL-Injections
grade erst gesehn
Ja, im Code selber nutze ich sowas nicht, bzw. in einer etwas anderen Form vielleicht doch
... das ist aber alles in der Datenbankklasse integriert.
Einzig und alleine über die Feldnamen könnte man die "Schutzmaßnahmen", mittels bestimmter Prefixe absichtlich abschalten, aber von extern kommt man da nicht ran.
Ein Insert war z.B. so möglich.
Code:
function User_Set($Name, $Password, $Rights) {
global $Config;
$Config['
DB']->Insert('UserTable', array(
'Name' => trim($Name),
'Password' => $Password,
'Rights' => $Rights));
return $Config['
DB']->LastResult;
}
oder
Code:
return $Config['
DB']->Insert('UserTable', array(
'Name' => trim($Name),
'Password' => $Password,
'Rights' => $Rights));
oder auch sowas
Code:
if ($
DB->Update('Irgendwas', array('feld' => 12345))) ...
hier würde der "feld ..."-Teil direkt übergeben
(hab halt keinen
Query-Parser integriert)
Code:
if ($
DB->Update('Irgendwas', 'feld = 12345')) ...
if ($
DB->Update('Irgendwas', array('feld = 12345', 'x' => 0))) ...
man kann nur ein paar "grundlegende" Funktionen (mir reichen diese aber meistens aus) aufrufen, ihnen irgendwelche WHERE-, Feld- oder Daten-Listen mitgeben und dieses wird dann intern zusammengesetzt und z.B. über mysql_real_escape_string abgesichert/maskiert.