Mailinglisten-Archive |
On Fri, 06 Jun 2003, Wolfgang Hauck wrote: Aehm, was hast Du denn zu Dir genommen? Oder hat es sich in Deiner Gegend ueberhaupt nicht abgekuehlt? ;-) > Tja, aber du benötigst doch einen eindeutigen INDEX für REPLACE ???? > Wer gibt denn den ein??? Hat das irgendwas mit der Frage und der Syntax zu tun? > Der heilige Geist oder Allah, Budda oder ZEN, Matrix Reload oder Mickey Mouse... > Gehen wir doch mal von der Praxis aus. Da vertippt sich einer bei dem Formular um eine Kundennummer die es auf Hain Blöd gibt, nix prüfen, REPLACE und schon ist deine DB am dampfen. > Tja, da kannst du ja sagen dass sich der denn doch vorher anmeldet, ist das so weiss ich doch schon ob der in der Datenbank ist oder nicht... > Irgendwie muss ich das doch prüfen... Dann pruefe es eben... > Na ja, da schick ich halt dann so'n replace einfach über die Grant - Tables... > Das geht !!!! > Ich überlasse das Denken den Pferden denn die haben grössere Köpfe... > I woas net, aber irgendwie so'n REPLACE einfach auf die Internetgemeinde loszulassen iss net des wahre, und das noch über ein Formular... So ein Unfug. Wer sagt denn, dass man irgendwas - ob REPLACE, INSERT oder UPDATE ungeprueft und "einfach" loslassen soll? Wer will denn mit den Rechtetabellen hantieren? Fakt ist jedoch, dass REPLACE INTO tabelle VALUES (...) genauso funktioniert wie ein INSERT, nur wenn der Wert des Index bzw. Primary Key (woher er auch immer stammen mag) existiert, werden die Werte des Datensatzes ersetzt, ansonsten eben eingefuegt. Woher Du diesen Index (im Beispiel id als Primary Key) nimmst, ist doch der Datenbank egal. Beispielsweise koenntest Du diese id vor der Anzeige des Update-Formulares ja in der Session speichern, so dass dieser Wert relativ geschuetzt vor etwaigen Manipulationen durch den User existiert. Bei einem Update bzw. REPLACE wird zusaetzlich vorher geprueft, ob der Benutzer berechtigt ist, die Aktion auszufuehren. Wenn dann dieser berechtigte User Eingaben taetigt, die nicht sonderlich sinnvoll sind, ist das eine ganz andere Geschichte. Wer natuerlich die id als hidden value im Formular speichert und das ganze dann ungeprueft an die Datenbank leitet, ist nun wirklich selbst schuld... Das gilt jedoch bei Verwendung jeglichen Befehls, mit dem irgend welche Datensaetze veraendert werden koennen - also ob die von Dir zitierte "Internetgemeinde" per UPDATE oder REPLACE Unsinn anstellen kann, ist letztlich ziemlich egal. > Da kannst ja Pfui Teifi was anstellen... Das uebliche eben... > Wie hies den noch gleich dein Projekt ;-) Nur weil ich UPDATE verwende, wird's aber nicht sicherer. ;) Beste Gruesse, Ralf -- : http://kuerbis.org -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive