Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Łączenie dwóch tabel
JamalBIG
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 1
Dołączył: 16.01.2008
Skąd: Świnoujście

Ostrzeżenie: (0%)
-----


Witam

Mam problem z połączeniem dwóch tabel których budowa przedstawia się następująco:

-- wpisy
id | user_id | tekst |
-----------------------
1 | 2 | xxxx |
2 | 22 | yyyy |

-- users

user_id | znajomy_user_id |
-----------------------
1 | 22 |
2 | 2 |

Chcę wyświetlić dane z tabeli wpisy gdzie user_id = np 2 oraz dane z tabeli wpisy gdzie user_id = znajomy_user_id (pisząc 'słownie' aby wyświetlone zostały dane z tabeli wpisy określonego użytkownika oraz jego znajomych... Stworzyłem poniższą komendę ale nie wyświetla tego czego chce....
  1. SELECT wpisy.* FROM users, wpisy WHERE users.user_id=2 AND wpisy.user_id=users.znajomy_user_id
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
modern-web
post
Post #2





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


mysql_real_escape_string zaslashuje wszystkie znaki ' więc nie będzie można wprowadzić łańcuchów bezpośrednio do zapytania.
Za to można bez przeszkód wstawiać liczby i ciągi nie zawierające '.
np.
Dla zapytania typu:
  1. SELECT * FROM serwis.uzytkownicy WHERE id=$id

Można to obejść (przy zabezpieczeniach) takim sposobem:
w polu id:
  1. 0 OR 1=1

  1. x LIMIT 0 UNION SELECT 1, 2, ..., n FROM information_schema.TABLES

Można używać funkcji concat i char do wprowadzania ciągów do rekordów

Przed XSS także nie chroni w 100%, ponieważ np.
  1. <script>alert(document.cookie)</script>


Podsumowując: W przypadku PHP jeżeli wiemy, że argument to liczba to stosujemy intval() jeżeli nie to addslashes. Jeżeli mamy coś wyrafinowanego to stosujemy ereg i wyrażenia regularne.
Wniosek: FILTRUJEMY DANE.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 17:00