![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Neuer Benutzer
Registriert seit: 02.04.2006
Beiträge: 23
|
hi leuts,
hab mal ne kurze frage. ich möchte gerne meine php-seiten noch viel dynamischer machen (eigentlich eher dynamisch als dynamischer). hierzu habe ich heute meine db-abfrage komplett überarbeitet und zwar so, dass ich dies quasi in jedes script einbauen kann und nur noch ne variable für die db-tabelle angeben muss. früher habe ich zusätzlich noch die einzelnen spaltennamen und den primärschlüssel der tabelle von hand angeben müssen. nun kann ich mir den kram sparen, allerdings habe ich probleme die spalte mir dem primärschlüssel dynamisch herauszufinden. ich weiss nicht genau wie. des weiteren hatte ich in meinem formular ein hidden-feld, welches die id des tupels enthielt, so wurde beim post die id übergeben um z.b. zu bearbeiten oder zu löschen. ich habe bereits die funktionsreferenz von php durchgesucht, aber nichts brauchbares gefunden. bin ein bissl ratlos... pls help... greets tsj |
|
|
|
|
|
Nach oben #2 | |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
|
Zitat:
Gib doch mal ne Beispieltabelle an, dann kann dir auch konkreter geholfen werden. Und Hidden-Felder sollten tunlichst vermieden werden, da sie leicht zu mißbrauchen sind.
__________________
I did it my way - Senseless-Blog |
|
|
|
|
|
|
Nach oben #3 | |
|
Neuer Benutzer
Registriert seit: 02.04.2006
Beiträge: 23
|
ich benenne zwar meine primärschlüssel immer auch xxxid, aber ich wüsste nu nicht wie mir das weiterhelfen soll, da ich keine platzhalter und php kenne.
eine tabelle wäre z.b. Code:
CREATE TABLE Hersteller( HerstellerID SERIAL NOT NULL PRIMARY KEY, HerstellerName VARCHAR(50) NOT NULL); HerstellerID | HerstellerName | Optionen -------------------------------------------- 1 | ASUS | [hidden-feld mit HerstellerID] | Löschen Zitat:
|
|
|
|
|
|
|
Nach oben #4 | |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
|
1. Also alle Spaltennamen mit dem Tabellennamen zu versehen ist sinnlos. Tabelle Hersteller hat den Spalten Name, Tabelle Accounts hat auch ne Spalte Name und sie behindern sich nicht im geringsten dadurch. Du solltest also deine Namensgebung der Spalten überdenken
2. Lass keine Sicherheitslücke im Vertrauen auf die Dummheit/das Unwissen anderer Zitat:
Ebenfalls sollten DAUs nicht unterschätzt werden. Ein DAU macht mehr falsch als ein Wissender und dadurch sind gerade diese "gefährlich".
__________________
I did it my way - Senseless-Blog |
|
|
|
|
|
|
Nach oben #6 |
|
Erfahrener Benutzer
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 355
|
Achja und noch ein Hinweis: Wenn das als eine Art Basisklasse oder Framework gedacht ist, ist der Weg, sowas auch mal im Internet einzusetzen nicht weit (beispielsweise auch in einer ganz anderen Webseite) und dann wird garantiert keiner mehr an die Sicherheitslücke mit den Hidden-Feldern denken und irgendwann schreits...
|
|
|
|
|
|
Nach oben #7 | |
|
Gast
Beiträge: n/a
|
Zitat:
...hat sich bewährt. |
|
|
|
|
Nach oben #8 |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
|
?
Wozu gibts dann bitte den Tabellenname.Spaltenname konstrukt? Wenn ich 2 Tabellen in eine Abfrage einbaue: Code:
SELECT Tabelle1.ID AS T1_ID, Tabelle2.ID AS T2_ID FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.Tabelle2_ID = Tabelle2.ID; Und wenn man später mal eine Tabelle namentlich ändern will muss jede Spalte bearbeitet werden. Also ganz im Sinne des Erfinders ist sowas nicht...
__________________
I did it my way - Senseless-Blog |
|
|
|
|
|
Nach oben #9 |
|
Gast
Beiträge: n/a
|
Hm, vielleicht laufen wir auch gerade ein wenig aneinander vorbei mit unseren Meinungen.
Ich sage ja, dass ich nicht immer den originalnamen der Tabelle vor die Spaltennamen lege. Wenn ich jedoch z.B eine Tabelle habe, wo Ausgaben aus meheren Tabellen ausgeggeben werden, erleichertert es oft die Wartung, wenn ich dann so etwas wie: $res[herstellerID] in der Tabelle stehen habe. Gerade auch, wenn man fremden Code warten oder auch nur verstehen muss/will. So sieht man sofort, welcher Tabelle die Ausgabe zugeordnet ist. Ob die Tabelle dabei auch HERSTELLER, oder tbl_hersteller oder auch ICHbinEINhersteller heisst, ist dabei nicht so wichtig. Er kann also durchaus umgeändert werden. Wichtig ist nur, dass der Zusammenhang besteht. Eine Tabelle, welche Herstellerdaten enthält, wird ja nun auch nimand in "tbl_rosa_plueschbaellchen" umbenennen wollen. Ich hoffe, ich habe nun besser rübergebracht, was ich sagen wollte. grüsse flupsi |
|
|
|
Nach oben #10 |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
|
Du redest von Fremdschlüsseln, da geb ich dir recht. Hersteller_ID wäre dahingehen korrekt.
Problem von thesecondjoker war aber, dass er selbst seine Primärschlüssel nicht nur ID genannt hat. Er hat ja den kompletten Tabellennamen vor die Spaltennamen gelegt, was totaler unsinn ist.
__________________
I did it my way - Senseless-Blog |
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Datensaetze aus 2 Tabellen mit java klasse abfragen | Aristotelis | Datenbanken | 7 | 31.05.2007 09:40 |
| Vorhandenen Kalendereintrag abfragen | mano | JavaScript und AJAX | 2 | 30.01.2007 23:15 |
| Anzahl und Geschwindigkeit der Mysql Abfragen | heohni | PHP-Programmierung | 3 | 21.09.2006 16:19 |
| 2 Daten aus einer 2.Tab durch 2 Primärschlüssel aus 1. Tab | Alpha Centauri | Datenbanken | 7 | 15.07.2006 19:06 |
| 2 Abfragen einer Tabelle zusammenfassen - JOIN? | derMaggus | Datenbanken | 15 | 24.08.2005 17:40 |