phpbar.de logo

Mailinglisten-Archive

Verwendung von replace

Verwendung von replace

Ralf Geschke ralf at kuerbis.org
Die Jul 15 16:47:59 CEST 2003


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