PDO-vorbereitete Anweisungen für die Hilfsfunktion „Einfügen/Aktualisieren“
In herkömmlichen MySQL-Treiberszenarien ist die Funktion dbSet() ein wertvolles Werkzeug zum Generieren SET-Anweisungen. Bei der Verwendung von PDO-vorbereiteten Anweisungen ist jedoch ein ähnlicher Ansatz erforderlich, um den Code trocken und flexibel zu halten.
PDO-Vorbereitete-Anweisungs-Hilfsfunktion
Die folgende Hilfsfunktion, dbSet( ), kann zur Erreichung genutzt werden Dies:
function dbSet($fields, &$values) { $set = ''; $values = array(); foreach ($fields as $field) { if (isset($_POST[$field])) { $set .= "`$field` = ?,"; $values[] = $_POST[$field]; } } return rtrim($set, ','); }
Verwendung
Betrachten Sie das folgende Beispiel:
$fields = explode(" ","name surname lastname address zip fax phone date"); $_POST['date'] = $_POST['y']."-".$_POST['m']."-"$_POST['d']; $query = "UPDATE $table SET ".dbSet($fields, $values).", stamp=NOW() WHERE>
ORM-Alternative
Für eine umfassendere Lösung sollten Sie die Verwendung eines ORM-Frameworks (Object-Relational Mapping) wie Doctrine in Betracht ziehen. Mit ORM kann die Datenpopulation erheblich vereinfacht werden:
$table = new Table(); $table->fromArray($_POST); $table->save();
PDO-Erweiterungsklasse
Für eine individuelle Lösung kann die Erstellung einer PDO-Erweiterungsklasse eine bequeme Möglichkeit sein Behandeln Sie vorbereitete Anweisungsabfragen effizient und reduzieren Sie den Bedarf an ausführlichen bind_param()-Aufrufen.
Das obige ist der detaillierte Inhalt vonWie kann ich eine PDO-Prepared-Statement-Hilfsfunktion für Einfüge-/Aktualisierungsvorgänge erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!