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.