Diese beiden Funktionen machen aus einem Array einen INSERT oder UPDATE String.
Damit kann verhindert werden immer wieder Fehler in diesen Anweisungen zu haben.
Weiter unten noch die Erklärungen dazu.
Angenommen man habe die Tabelle user mit den Spalten id, vorname, nachname, email in der Datenbank, so müsste man für ein insert folgende Arraystruktur aufbauen:
Die Keys bestimmen demnach die Tabellenspalte und der Wert des Arrays den Wert, der in die Datenbank eingetragen werden soll.
Der Parameter $table ist nun mit 'user' zu belegen.
Ein vollständiger Aufruf ginge so:
INSERT INTO `user` (`id`,`vorname`,`nachname`,`email`) VALUES (1,'test',NULL,'mail@example.com')
Bei einem Update verhält sich die Arraystruktur gleich. Lediglich ein Primary Key (wie in den meisten Tabellen die Spalte ID) und der dazugehörige Wert kann noch angegeben werden.
Ein update sähe so aus:
Allgemein deine Idee hinter diesen Funktionen ist ja nicht schlecht. Ich würde es nur etwas weiter abstrahieren.
Das sollte man früher oder später auf jeden Fall machen. Da gibt es natürlich schon viele fertige Lösungen für, aber manchmal reichen ja auch ganz einfache/schlichte Lösungen, die man selbst implementiert.
Ich hätte es vielleicht "konsequenter" gemacht und so Funktionen geschrieben, die bereits die übergebenen Werte durch Funktionen zum Schutz vor SQL Injection jagt und das ganze dann auch direkt ausführt/an den Server schickt.
Und auch allgemein hätte ich die Funktionen ein wenig anders aufgebaut, damit sie ein wenig flexibler wären. Aber vielleicht reicht ja jemanden das so.
Sonst würde ich noch erwähnen:
Weil du anonyme Funktionen verwendest, kann man diese Funktionen nur mit PHP 5.3 und höher verwenden.
Haben immer mehr Hoster, aber eben noch nicht alle. Deswegen sollte man das vielleicht noch erwähnen, damit sich niemand wundert, wieso es bei ihm vielleicht nicht läuft