ForumCała strona

Nawigacja

Aktualnie online

Gości online: 6

Użytkowników online: 0

Łącznie użytkowników: 25,267
Najnowszy użytkownik: extrafm_pl

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

Musisz zalogować się, aby móc dodać wiadomość.

krystian1988
25.07.2018 20:26:14
Ach te ostrężyny Grin

piterus
25.07.2018 18:57:21
Krzaczory są bardzo niebezpieczne... Krystian po nich nic nie pamięta...

krystian1988
25.07.2018 10:30:28
Nie pamiętam Pfft

Pieka
24.07.2018 16:55:24
Ale że Ty Pfft

krystian1988
24.07.2018 08:50:39
Ale że kto Grin

Pobierz nową wersję
Pobierz podręcznik
Zobacz inne oficjalne Supporty
Sponsoring WWW
Sponsorowane WWW
Statystyki supportu
PHP-Fuson PL na Facebooku

RSS

Polecamy hosting Biznes-Host.pl

Zobacz temat

 Drukuj temat
Edycja rekordu MSQL nieoczekiwnay błąd
emil90ck
Witam,
Napisałem bardzo prosty skrypt PHP do edycji rekordu w MYSQL i niestety zostałem niemile zaskoczony :(

Mianowicie wszystko działa ok na moim serwerze, niestye jak wrzuciłem skrypt na 2 inne jest dobrze jak edytujemy dość krótki wpis, a jak damy coś dlyższego jak w pinkty 2, pokazuje błąd:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ie. Chęć dołączenia będzie traktowana jako akceptacja

' at line 1You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ie. Chęć dołączenia będzie traktowana jako akceptacja


Kod:
Pobierz kod źródłowy  Rozwiń Kod źródłowy


2. Problematyczny text

Pobierz kod źródłowy  Rozwiń Kod źródłowy
 
http://www.bluemoney.pl
Wścibski Gość
Dodany dnia 17.08.2018 03:38:20
Pan Kontekstualny

Postów: n^x
Data rejestracji: Zawsze

Polecamy hosting Biznes-Host.pl
IP: localhost  
Lukeup
Problem jest taki, że znaki specjalne w tekście zakłócają Ci zapytanie (i otwierają przy okazji pole do injecta)
Pobierz kod źródłowy  Rozwiń Kod źródłowy


Masz to dwa razy w tekście i właśnie przez znak ' Twoje zapytanie psuje się, bo zmienne budujesz tak:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

I jeśli fragmentem tekstu jest znak specjalny ', to interpreter się w najlepszym przypadku pogubi (jak u Ciebie), bo napotkał na zmienną, która nie jest zakończona średnikiem. Natomiast gdyby go dodać i później od razu wykonać polecenie usunięcia całej bazy, byłoby mniej przyjemnie.

W tym przypadku, jeśli poprzedzisz ' znakiem \ to tekst będzie prawidłowy. Natomiast, jeśli masz już taki zapis, to do odczytu z kolei musisz użyć stripslashes()
Przyjmuję zlecenia pracy nad PHP-Fusion, Wordpress, Symfony, PHP-Nuke, Post-Nuke
Technologie: PHP (Symfony3-4), SQL, JS (JQ), XML, XHTML, HTML5, CSS3, SCSS, SASS, C, C++, C#
Zawód: Full-Stack Developer z naciskiem na Backend

You live once, but if You do it right, once is enough.
 
https://lukeup.pl
emil90ck
Bardzo dziękuje za pomoc. Wykorzystanie funkcji addslasches oraz stripslashes rozwiązało mój problem Smile
 
http://www.bluemoney.pl
Przejdź do forum:
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl