Problem: Erstellen einer Hilfsfunktion zur Vereinfachung der Datenmanipulation mithilfe von PDO-vorbereiteten Anweisungen. Die Funktion sollte eine SET-Anweisung zum Aktualisieren vorhandener Datensätze generieren und das einfache Einfügen neuer Daten ermöglichen.
Lösung:
function dbSet($fields, &$values) { $set = ''; $values = array(); foreach ($fields as $field) { if (isset($_POST[$field])) { $set .= "`$field` = ?, "; $values[] = $_POST[$field]; } } return rtrim($set, ','); } $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>
Diese Funktion benötigt ein Array von Feldern Namen und ein Verweis auf ein Array von Werten. Es durchläuft die Feldnamen und prüft, ob in den POST-Daten ein entsprechender Wert vorhanden ist. Wenn dies der Fall ist, wird ein SET-Anweisungsfragment erstellt. Der Verweis auf das Wertearray ermöglicht es der Funktion, es mit den entsprechenden Werten zu füllen.
Um die Funktion zu verwenden, zerlegen Sie zunächst die Feldnamen in ein Array. Rufen Sie dann die Funktion auf und übergeben Sie das Feldarray und den Verweis auf ein leeres Wertearray. Die Funktion gibt ein SET-Anweisungsfragment zurück. Bereiten Sie abschließend die Abfrage vor und führen Sie sie mit dem Wertearray aus.
Überlegungen:
Das obige ist der detaillierte Inhalt vonWie kann ich eine PDO-Hilfsfunktion für effiziente Einfüge-/Aktualisierungsvorgänge erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!