Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: update ,nie zwracała błędu gdy nie odnajduje rekordu
Forum PHP.pl > Forum > Bazy danych > MySQL
szypi1989
Witam,otóż mam problem,piszę własny system sesji(ale nie o to chodzi),i otóż mam taki problem ,gdy mam zapytanie(przykładowe ):
  1. UPDATE sessions
  2. SET session_id="16",session_ip="885588",session_browser="firefox",session_time=24343
  3. WHERE session_user='.$row["user_id"]


Zaznaczam ,Przykładowe zapytanie,dlatego wartości wspisane są ino aby były.I dla przykładu gdy zapytanie nie wykona mi się ze względu na to że session_user nie jest równy user_id.
To mysql nie robi mi update,ale także nie wyświetla mi żadnego błędu.A ja mam taką potrzebe że chciałbym dowiedzieć się czy wykonał mi ten update,
czyli wyświetlił mi true jeśli te WHERE session_user=$row["user_id"].Fachowcy znajcie jakiś dobry spodób na to by to określić?
Tylko nie mysql_affected_rows(),bo ta funkcja sprawdza czy rekord został aktualizowany a nie czy znalazło session_user=$row["user_id"].Proszę o pomoc
mmmmmmm
Cytat(szypi1989 @ 18.08.2012, 13:16:44 ) *
Tylko nie mysql_affected_rows(),bo ta funkcja sprawdza czy rekord został aktualizowany a nie czy znalazło session_user=$row["user_id"].

Jeśli nie chcesz mysql_affected_rows, która właśnie DO TEGO SŁUŻY, to musisz wcześniej/póżniej wykonać zapytanie, które sprawdzi, czy takie rekordy już istnieją.
szypi1989
no tak też chciałem zrobić,ale myśle że istnieje inny sposób.
peku33
najsensowniej

  1. SELECT COUNT(*) FROM sessions WHERE session_user='ID'


Jeśli zwróci 1 (bo zakładam, że to jest pole z indeksem PRIMARY) to wykonujesz update

Lub też

  1. UPDATE (..); SELECT ROW_COUNT()


i porównujesz j/w
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.