Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zaoytanie SQL ze zmienna z formularza
dawid_p
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 29.09.2006
Skąd: Słupsk / Szczecin

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


Mam takie zapytanie na stronce:

$sql = "SELECT * FROM $kiedy2 WHERE city LIKE $kierunek";

zmienne $kiedy i $kierunek pochodzą z formularza z poprzedniej strony. W przypadku ,gdy nie umieszczam warunku (WHERE city LIKE $kierunek) wszystko jest ok , ale gdy dołączam ten warunek pojawia się komunikat

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

nawet jak wpisuje recznie city LIKE"Szczecin" wyswietla mi eten sam komunikat. Polaczenie z baza jest ok, w tabeli jest pole city i jego zawartosc tez jest taka jak w zapytaniu,a mimo to ciagle nie dziala.

HELP.

Ten post edytował dawid_p 29.09.2006, 15:55:17
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
L_Devil
post
Post #2





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 13.04.2004
Skąd: Łódź

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


zgubiłeś cudzysłowy:

  1. <?php
  2. $sql = "SELECT * FROM `$kiedy2` WHERE city LIKE '$kierunek'";
  3. ?>


Po drugie, nigdy nie stosuj zapytań do bazy danych z czystymi danymi z forumlarzy... pamiętaj, że haker może wpisać jako $kiedy2 = "users WHERE login='admin';--" i dzięki temu, twoje zapytanie będzie wyglądało tak:

  1. SELECT * FROM users WHERE login='admin';-- WHERE city LIKE "";
tak, dwa myślniki to znak komentarza w sql winksmiley.jpg

Poczytaj o sql insertion/sql injection w dziale o bazach danych żeby wiedzieć, jak się przed tym zabezpieczyć winksmiley.jpg

PS> jeżeli to nie pomogło wywołaj

  1. <?php
  2. ?>
zaraz po zapytaniu i powiedz, co wyświetliło winksmiley.jpg

Ten post edytował L_Devil 29.09.2006, 16:04:34


--------------------
Językiem którym najlepiej operują wszyscy programiści są przekleństwa.
Go to the top of the page
+Quote Post
dawid_p
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 29.09.2006
Skąd: Słupsk / Szczecin

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


Dalej to samo

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /forms/oferta.php on line 42

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /forms/oferta.php on line 64

Mój błąd. Teraz jest wszystko wporządku,dzięki za pomoc. Ta choroba mnie dobija i juz ledwo widze na oczy smile.gif
Go to the top of the page
+Quote Post
mokry
post
Post #4





Grupa: Zarejestrowani
Postów: 374
Pomógł: 23
Dołączył: 3.06.2006
Skąd: Katowice

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


Spróbuj tak:
  1. <?php
  2. $sql = "SELECT * FROM '$kiedy2' WHERE city LIKE '$kierunek'";
  3. ?>


Wczesniej przed zapytaniem proponuje tak:
  1. <?
  2. $_POST['kiedy2'] = addslashes($kiedy2); //zabezpiecza przed zmiana zapytania
  3. ?>

To samo ze zmienna kierunek


--------------------
Pomogłem? Podziękuj proszę klikając poniżej "POMÓGŁ" ;)
Go to the top of the page
+Quote Post
dawid_p
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 29.09.2006
Skąd: Słupsk / Szczecin

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


Po pierwsze wpisac nie może , bo to sa pola formularza bez dostępu, które zostały wypełnione danymi jeszcze z wczesniejszego formularza i tak sformatowane,że nawet ja nie widze,ze to formularz(Zablokowany dostęp, brak obramowania,itd...). A w adresie strony nic się nie wyswietla smile.gif Ale dzięki za ostrzeżenie, jakto mówią "Strzeżonego Pan Bóg strzeże"
Go to the top of the page
+Quote Post
mokry
post
Post #6





Grupa: Zarejestrowani
Postów: 374
Pomógł: 23
Dołączył: 3.06.2006
Skąd: Katowice

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


To nie lepiej jest po prostu wyswietlic dane na stronie w normalny sposob a pola dac w input type="hidden"?


--------------------
Pomogłem? Podziękuj proszę klikając poniżej "POMÓGŁ" ;)
Go to the top of the page
+Quote Post
dawid_p
post
Post #7





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 29.09.2006
Skąd: Słupsk / Szczecin

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


też można...
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 17:57