Is JOIN/NATURAL JOIN veilig?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Koen Hollander

Koen Hollander

26/12/2013 17:46:08
Quote Anchor link
Dag PHPHulp,

Ik dacht plots zomaar aan iets... Ik ben een programmatje aan het maken in PHP en daar sla ik veel gebruikersgegevens in op die iets hebben gekocht, nu heb ik ook resellers. Ik sla in een tabel normale gebruikers op en in een tabel sla ik resellers op. Resellers kunnen ook klanten maken en ik sla in tabel nummer 3 het ID van de reseller op en het ID van de klant. Ik wil voor alle veiligheid alles dubbel controleren, dat is de reden dat ik join. Dus is dat dan wel zo veilig?
Gewijzigd op 26/12/2013 17:46:44 door Koen Hollander
 
PHP hulp

PHP hulp

28/11/2024 16:52:15
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

26/12/2013 19:35:48
Quote Anchor link
Wat heeft een join met veiligheid te maken?
 
Wouter J

Wouter J

26/12/2013 20:48:53
Quote Anchor link
Joinen doe je niet om alles dubbel te doen (sowieso is dubbel controleren al niet goed). Joinen doe je mdat dat moet nadat je normaliseren goed hebt toegepast.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

26/12/2013 21:48:04
Quote Anchor link
@Koen
Er zitten overigens wel wat haken en ogen aan het gebruik van een natural join.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT lijst_met_kolommen FROM tabel_a NATURAL JOIN tabel_b

Dit 'kijkt' welke kolommen in beide tabellen dezelfde naam hebben, en als al die kolommen met dezelfde naam dezelfde waarde hebben wordt aan de join voorwaarde voldaan.

Dus stel tabel_a kolommen klant_id, reseller_id, email; tabel_b reseller_id, email.
Dan zou bovenstaande query resulteren in:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT lijst_met_kolommen FROM tabel_a NATURAL JOIN tabel_b
ON tabel_a.reseller_id = tabel_b.reseller_id
AND tabel_a.email = tabel_b.email

Die laatse join voorwaarde wil je natuurlijk niet.
Gewijzigd op 26/12/2013 21:48:55 door Ger van Steenderen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.