![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 0 Dołączył: 23.06.2009 Ostrzeżenie: (10%) ![]() ![]() |
Dodaje sobie nowy rekord do bazy jeśli zmienna tytul nie jest pusta:
Jednak w bazie dodają mi się rekordy, których tytul nie jest podany - pole w bazie 'tytul' jest puste, chociaż powyższa instrukcja miała przed tym zabezpieczać. Dlaczego w takim razie mimo iż tytułu nie ma rekord został dodany ? Może chodzi o jakieś znaki niedrukowane których nie widać ? Jak to sprawdzić ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 16.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 0 Dołączył: 23.06.2009 Ostrzeżenie: (10%) ![]() ![]() |
Dokładnie taki sam efekt, dalej dodaje mi przy niektórych rekordach pusty tytul :/
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
To weż pozbaw ewentualnie ich zmienna... trim się kłania (IMG:style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 0 Dołączył: 23.06.2009 Ostrzeżenie: (10%) ![]() ![]() |
Użyłem tego do oczyszczenia, ale nie pomaga:
W takim razie jak zobaczyć jakie znaki niedrukowane znajdują się w danym wierszu tabeli (teoretycznie pustym) ? Ten post edytował mefistofeles 21.10.2009, 23:23:23 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 16.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Tego nie zobaczysz. (IMG:style_emoticons/default/haha.gif) Musisz się pobawić w ich ponowne dodawanie, przy sprawdzaniu, czy coś jest w tytule.
|
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
A po co je ujawniać? Skoro chcesz wyczyścić je ze zmiennej i jesteś pewien, że nie powinno w niej być niczego to po użyciu trim() wszystkie z lewej i prawej niedrukowalne znaki powinny zniknąć. Jeśli tylko one są w zmiennej to stanie sie ona całkowicie pusta. A chyba o to, a nie ich wyświetlenie, Ci chodzi...
|
|
|
![]()
Post
#8
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Formalnie:
Takie rzeczy sprawdzaj, którymś z powyższych sposobów. Nie jest tak samo, nie wprowadzaj ludzi w błąd. Empty sprawdza czy zmienna jest pusta, isset czy zmienna istnieje i nie ma wartości NULL (stąd mylne wrażenie że działają tak samo). |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Webdice ma rację. isset sprawdza istnienie zmiennej, którego empty nie zrobi. Innymi słowy empty na nieistniejącej zmiennej zwróci błąd, zaś isset jest na taką możliwość przygotowany. Zajrzyj dokładniej do manuala bo zapewne nie uwierzysz (IMG:style_emoticons/default/winksmiley.jpg)
EDIT: @down: zależy od podejścia... Dla mnie notice to także błąd, ale małego kalibru. Tak czy inaczej powinien się go programista pozbyć, nie używając "małpowania" (IMG:style_emoticons/default/winksmiley.jpg) Bo kto wie czy ten mały notice, którego się nie zauważy, nie spowoduje gdzieś indziej znacznie większego. Miałem ostatnio podobny motyw, bo programista zrobił @ w mysql_query i interpreter wywalał mi błąd w mysql_fetch_array dopiero, przez co szukałem w złym miejscu. Mysql_query zwróciło oczywiście brak rekordów, co nie jest błędem, tyle że nie było kontroli tego i poszło do mysql_fetch_array, tyle że ileś linii dalej i samo query było "zamałpowane". Dopiero po chwili załapałem, że błąd jest zupełnie gdzie indziej. Dlatego małpom mówię "nie", nawet jeśli to tylko notice, bo problemy to może w późniejszym etapie sprawiać takie, że trzeba cały kod analizować od tyłu, a nie tam gdzie interpreter błąd pokazuje. Jakby nie patrzeć, po to jest obsługa wyjątków z try-catch, czy choćby zwykłymi if by to wyłapywać. Ten post edytował thek 22.10.2009, 11:28:08 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 326 Pomógł: 121 Dołączył: 23.07.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 19:12 |