Auge: PHP SQL Statements

Beitrag lesen

Hallo

Auch wenn du nicht Adressat meiner Worte bist, lieferst du doch den besten Anlass, sie anzubringen. Deshalb …

Ich arbeite mit ? nicht mit :colname. Wäre das n sicherheitstechnischer oder performance Grund???

Vor allem ein Grund der Lesbarkeit.

Bei zwei Parametern geht's ja noch, aber wenn Du viele Parameter hast, dann wird es schwierig, dann mußt Du immer wieder durchzählen, um zu erkennen, welcher Wert welchem Fragezeichen zugeordnet wird.

Das ist ein ganz wichtiges Argument in Sachen Wartbarkeit des Codes. Wenn nach einem halben jahr Änderungen am Code anstehen, wird man in Queries mit mehreren „?“ mit Sicherheit mit abzählen anfangen müssen. Sprechende (sich selbst erklärende) Namen hingegen sollten nur in Ausnahmefällen Suchaktionen im Code auslösen. Die sind dann aber auch einfacher zu handeln.

Das Gleiche gilt auch für die spätere Benutzung der abgefragten Werte. Wer die Werte nummeriert benutzt, hat sich schon bei der Codeerstellung ins eigene Fleisch geschnitten, falls später Änderungen in der Struktur der Benutzung dieser Werte anstehen. Das weiß sie/er nur noch nicht. Wird später eine weitere Spalte in die Abfrage eingefügt, die nicht an das Ende der Abfrage gehängt wird, ändert sich die Reihenfolge der Spalten des Ergebnisses und das Zählen beginnt. Ein Name bleibt hingegen ein (hoffentlich wiedererkennbarer) Name.

Tschö, Auge

--
Wo wir Mängel selbst aufdecken, kann sich kein Gegner einnisten.
Wolfgang Schneidewind *prust*