ForumCała strona

Nawigacja

Aktualnie online

Gości online: 4

Użytkowników online: 0

Łącznie użytkowników: 25,402
Najnowszy użytkownik: hdiksi6543

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

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

JazOOn
18.05.2025 22:31:41
Fakt. Zbyt miło wspominam te czasy, żeby się czepiać...

khaman
13.05.2025 09:46:54
Czepiasz się "drobnych"szczegółów
Pfft

JazOOn
06.05.2025 18:41:29
Powitanie PHP-Fusion jest stale rozwijającym się systemem zarządzania witryną WWW (CMS), opartym na PHP i MySQL. ... Tja....

JazOOn
05.05.2025 22:56:38
Tja... Ruch na stronie jak w paryżu na wsi

khaman
08.04.2025 12:11:31
Happy Ramadan JazOOn Smile

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

RSS

Polecamy hosting SferaHost.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 22.05.2025 10:58:12
Pan Kontekstualny

Postów: n^x
Data rejestracji: Zawsze

Polecamy hosting SferaHost.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.
 
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