Einzelnen Beitrag anzeigen
  #4 (permalink)  
Alt 25-10-2017, 15:46
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von SysOp Beitrag anzeigen
Was an SELECT * soll denn nun so grundlegend falsch sein? Mir erschliesst sich nicht wieso SELECT * solch Teufelswerk sein soll.
Ist es nicht. Es hat sicher seinen Anwendungsbereich. Aber den sollte man besser beschränken (bspw. aufs interaktive Herumprobieren in der Konsolen-Anwendung des Clients).
Zitat:
Da ich dem Anwender ersparen möchte für jedes selbst definierte Feld selbst Hand an den Code legen zu müssen, damit seine Felder auch ausgelesen werden ist ein SELECT * eine ebenso einfache wie unproblematisch funktionierende Abfrage.
Du sparst einmalig (beim Entwurf einer Abfrage) etwas Tipparbeit. Das klingt eher nach Faulheit als nach Einfachheit.

Unproblematisch (in Bezug auf Funktionssicherheit) ist deine SELECT-Anweisung nur, solange sich nichts am Datenbankaufbau oder im Anfrage-Teil nach FROM ändert. Was konkret schiefgehen kann, steht hier geschrieben: https://softwareengineering.stackexc...ractice/234678
Relevante Abschnitte sind "Schema Changes" und "Failure to convey intent".

Für den Fall, dass ausgelesene Datensätze in ein assoziatives Array wandern, hat PHP hat noch eine Extra-Stolperfalle eingebaut: https://softwareengineering.stackexc.../234667#234667

Dass SELECT * auch die Datenbank davon abhalten kann, Indizes zu nutzen, fällt dann auch nicht mehr ins Gewicht.

Geändert von fireweasel (25-10-2017 um 15:48 Uhr) Grund: typo
Mit Zitat antworten