![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 30.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Chcę zrobić coś takiego: mam formularz, do tego formularza ładują się dane z bazy, zmieniam je i uaktualniam (jest to operacja tylko na jednym wierszu, na 6 kolumnach). Napisałem sobie taki kod:
Problem w tym, że uaktualnienie działa tylko wtedy, gdy wpisuję jednym ciągiem liczby (ale już np. '1 2 3' nie działa) - w ogóle nie wchodzą mi litery. Pola w bazie to VARCHAR. Pod PHPMyAdmin mogę wpisywać cokolwiek i działa, a tutaj przez php taka klapa. Proszę o pomoc, co tu jest źle. Dzięki z góry. Ten post edytował Telside 30.04.2007, 15:25:49 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 99 Pomógł: 2 Dołączył: 8.11.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
każdą wartość z tablicy $_POST należy ująć w apostrof/cudzysłów, w celu niknięcia podobnych problemów. Dodatkowo dobrze jest zabezpieczyć skrypt przed niepowołanymi znakami w zmiennych. Przykład kodu realizującego w/w zadanie:
Przykład zastosowania do Twojego kodu:
oraz odczytu:
lub w skróconej wersji:
Ten post edytował kresh 30.04.2007, 15:48:41 -------------------- Programuj pod kątem interfejsu, nie implementacji
Gang of Four michalbarys.pl |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 30.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Bardzo dziękuję. Pozdrawiam
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
kresh, funkcja escape() doda znaki ucieczki przed apostrofami itp. ale służy to tylko do poinformowania MySQLa, że "tu jeszcze nie kończy się string, traktuj ten apostrof jako normalny tekst".
W bazie danych znaki ucieczki zapisane nie będą, więc nie ma potrzeby dodatkowego maltretowania pobieranych danych funkcją clear(). -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:23 |