Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z zapytaniem sql
Forum PHP.pl > Forum > PHP
Cliassi
Witam, mam taki kod
  1. $res=$dbc->query("UPDATE users SET zdjecie='$nowe_foty' WHERE id='$x'");
  2. if(!$res)
  3. echo"blad update<br><Br>".$res->errno;


Wszystko działa w pętli a $x jest id usera. Problem w tym ze zapytanie nie chce sie wykonac a błąd wyświetlić :/
skowron-line
Wyświetl zapytanie na ekran i wklej bezpośrednio do PMA i zobacz co się pokaże.
Cliassi
  1. #1064 - Something is wrong in your syntax obok '1'' w linii 1
  2. UPDATE users SET zdjecie='zdjecia/1_n_0.jpg\zdjecia/1_n_1.jpg\' WHERE id='1'


znakiem \ oddzielam zdjęcia i potem uzywam explode do odczytywania tego
abort
Jeżeli spojrzysz na kod i to, w jakiej postaci się tu wkleił na forum, to dojdziesz do wniosków, że:
1. używanie backslasha do separowania danych jest... khem, takie sobie
2. trąci DOSem i wczesnymi windowsami smile.gif
3. lepiej użyć do tego jakiegoś innego znaku, nawet spacji (która przynajmniej naturalniej wygląda)

W ogóle jak masz kolumnę "zdjęcie", to jak dla mnie ona służy (jak sama nazwa wskazuje) do przechowania JEDNEGO zdjęcia, czy to w formie nazwy pliku czy też bloba. A nie dwóch, tak jak Ty robisz. Choć mogę się zgodzić, że w ograniczonej liczbie przypadków może mieć sens to, co Ty robisz. Ale to nadal IMO je3st wyjątek, a nie reguła.
W związku z tym doradzałbym redesign bazy; np. dedykowana tabela na zdjęcia (i dla każdego zdjęcia przy update dodawać różne kolumny np. timestamp), po których często można sortować - generalnie otwierają Ci się duże możliwości. Nie wiem czy z tego skorzystasz, ale rozważyć warto.

P.S.
Czemu poprzedzasz backslashem ostatni apostrof tuż przed WHERE? Używasz jakiegoś edytora z kolorowaniem składni? Jeśli tak, to powinieneś to wykryć, skoro nawet forumowy parser oznaczył ten apostrof innym kolorem...
Cliassi
no dobra ale narazie musze to zrobic na \ . potem bede to zmieniał. a więc dlaczego pojawia się błąd?

dobra... zmieniłem na spacje tongue.gif dzieki! do zamkniecia smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.