Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#68

AW: PHP - sind hier "Sicherheitsexperten" an Board?

  Alt 21. Jul 2010, 11:46
Wie gesagt, extrem schnelle Ausführungsgeschwindigkeiten werd ich wohl eh nicht, für meine Zwecke, benötigen.

Ich glaub ich hab jetzt meine MySQL-Klasse soweit umgestellt, so daß jetzt MySQLi verwendet wird und dazu auch noch die prepared Statements (oder wie auch immer die nochmal heißen) verwendet werden.

In meinem Query sind jetzt prepare+bind_param+execute, multi_query und das normale query gekapselt und werden automatisch ausgewählt.
Wobei query hierbei ein real_query mit einem speziellem store_result sind, damit die Result-Klasse ausgetauscht werden kann,
welche dann das free_result automatisch aufruft, wenn das Result-Objekt freigegeben wird.

Hab nun auch mal angefangen dieses PHPDoc zu verwenden.
(das macht sich, z.B. bei der Autovervolständigung in NetBeans, richtig gut )

also mir gefällt's so schon irgendwie
und aus diesem
PHP-Quellcode:
$Var1 = 'abc';
$Var2 = 123;
//$Result = $DB->Query('INSERT INTO `#PrefixMyTable` (`Field1`, `Field2`) VALUES (?, ?)',
// array($Var1, $Var2), array('#Prefix' => 'xxx'));
# das #Prefix ist schon vordefiniert enthalten
$Result = $DB->Query('INSERT INTO `#PrefixMyTable` (`Field1`, `Field2`) VALUES (?, ?)', array($Var1, $Var2));
wird dann intern das gemacht
PHP-Quellcode:
$Var1 = 'abc';
$Var2 = 123;
$State = $DB->prepare('INSERT INTO `xxxMyTable` (`Field1`, `Field2`) VALUES (?, ?)');
$State->bind_param('si', $Var1, $Var2);
$Result = $State->execute();
wobei es auch so ginge
PHP-Quellcode:
$Var1 = 'abc';
$Result = $DB->Insert('MyTable', array('Field1' => $Var1, 'Field2' => 123));
Bei diesem Preparedzeugs fehlte mir etwas, womit man auch mal normalen Text einfügen kann und nicht nur ganze Parameter.



Auch wenn's böse aussieht, fand es so letztendlich aber einfacher ... im __construct hol ich die Configuration nun direkt aus einem Config-Objekt, anstatt diese weiterhin via Parameter zu übergeben.
Angehängte Dateien
Dateityp: 7z MySQL.7z (5,6 KB, 2x aufgerufen)
$2B or not $2B
  Mit Zitat antworten Zitat