Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem ze sprawdzeniem bazy danych
Forum PHP.pl > Forum > Przedszkole
kubw19
Cześć
Otóż mam taki problem.
Chciałem napisać taki skrypt, co sprawdza, czy dany rekord w bazie danych już istnieje.
Jeśli istnieje, to go z aktualizuje, a jeśli nie istnieje to go doda.
Napisałem coś takiego, ale TO NIE DZIAŁA sad.gif

  1. if(mysql_query("Select * From map WHERE id='$id'") === false )
  2. {mysql_query("INSERT INTO map (ID, NAME, LAT, LNG) VALUES ('$id', '$name', '$lat', '$lng')");}
  3.  
  4. else
  5. {
  6. mysql_query("UPDATE map SET lat='$lat', lng='$lng' WHERE name='$name' ");
  7. }


PROSZĘ O POMOC, żeby zadziałało. Nie wiem, co robię źle. Wyczytałem, że mysql_query zwraca wartość true i false

Pozdrawiam
sada
A jakieś połączenie z bazą , wybór bazy jest?

Poza tym dlaczego pierwszy SELECT jest WHERE id= , a nie WHERE name=
i czy zmienna $id, czy $name jest już wtedy znana?
kubw19
Połączenie z bazą jest, update działa, tylko nie dodaje nowego rekordu
Tak, zmienne są znane
kubw19
Myślę, że to jest błąd z tym false. Normalnie jak dodaje rekord to on się dodaje. Tylko właśnie jak wstawiłem go w tą instrukcję warunkową nie chce działać sad.gif
kubw19
Sprawdziłem, niestety to nie to sad.gif
sada
to zmień jeszcze to ID w insercie na name

przepraszam w SELECT

wg. mnie powinno być:

  1. if(mysql_query("Select * From map WHERE name='$name'") === false )
kubw19
Nadal nie działa, ale i tak dziękuje za pomoc
sada
Jeśli uważasz , że to ten false spróbuj tak:

  1. $query=mysql_query("Select * From map WHERE id='$id'");
  2. if(mysql_num_rows($query)==0){
kubw19
DZIĘKIIII smile.gif smile.gif smile.gif ZADZIAŁAŁO!!! JESTEŚ WIELKI!!!
mortus
Cytat(kubw19 @ 30.04.2012, 16:47:17 ) *
Wyczytałem, że mysql_query zwraca wartość true i false

Funkcja mysql_query nie zwraca nigdy prawdy TRUE. Zwraca FALSE, jeśli zapytanie się nie wykona, bo np. jest źle sformułowane, albo zwraca obiekt MySQL Result Object, który przechowuje wyniki zapytania, przy czym pusty zbiór wyników to nadal prawidłowy obiekt MySQL Result.
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.