Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z zapytaniem sql
Cliassi
post
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

Ostrzeżenie: (0%)
-----


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ć :/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Wyświetl zapytanie na ekran i wklej bezpośrednio do PMA i zobacz co się pokaże.
Go to the top of the page
+Quote Post
Cliassi
post
Post #3





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

Ostrzeżenie: (0%)
-----


  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
Go to the top of the page
+Quote Post
abort
post
Post #4





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/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...

Ten post edytował abort 23.10.2012, 17:15:16
Go to the top of the page
+Quote Post
Cliassi
post
Post #5





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/tongue.gif) dzieki! do zamkniecia (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 1.10.2025 - 03:16