Wie verwenden Sie bind-Variablen mit Zend_Db_Table->update() in der where-Klausel
Wenn ich verwenden möchten, die Zend_Db_Table->update()
Methode update meiner Tabelle mit Daten kann ich nicht finden, jedenfalls verwenden Sie bind-Variablen in der "where" - Klausel.
Die Signatur der Methode ist:
int update($data, array|string $where)
In der Regel werden Sie die Methode aufrufen wie diesem:
$table = new Bugs();
$data = array(
'updated_on' => '2007-03-23',
'bug_status' => 'FIXED'
);
$where = $table->getAdapter()->quoteInto('bug_id = ?', 1234);
$table->update($data, $where);
quoteInto
ist nur Los, um zu entkommen die variable nicht binden.
Es muss ein Weg gefunden werden, verwenden Sie bind-Variablen, ansonsten ein DBMS ist nicht der cache diese Abfrage effectivly.
Bin ich etwas fehlt, oder ist dies ein versehen, die auf Zend-Teil?
InformationsquelleAutor asgeo1 | 2009-10-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie nur die Aktualisierung von Daten, RDBMS (ich nehme an, MySQL) nicht cache-UPDATE-Abfragen. Wenn Sie immer noch wollen, verwenden Sie bind-Variablen (Sicherheit? Leistung?), verwenden Sie vorbereitete Anweisungen:
Aber es sei denn, Sie sind mit Millionen von UPDATE-Abfragen in einer batch-ich glaube nicht, sollten Sie die Mühe mit diesem. Verwenden Sie einfach die $Tabelle->update($data, $where);
InformationsquelleAutor bas