Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Nieistniejący rekord w bazie
Forum PHP.pl > Forum > Przedszkole
vbig
Witam!
Podczas pisania pewnej rzeczy w PHP natknąłem się na problem...
Otóż mam:
  1. $zmienna = dbarray(dbquery("SELECT * FROM users WHERE user_id=10"));


Jak zrobić aby nie pokazywał mi się błąd iż dany użytkownik nie istnieje i co mam zrobić, aby w dalszej części skryptu zamiast tej zmiennej pokazywał mi się inny napis? Nad skryptem pokazuje mi się:
  1. You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near '' at line 1

(w dalszej części wyciągam z bazy jego nick oraz avatar i chciałbym aby zamiast nich pojawiały się napisy "brak" oraz wybrany przeze mnie obrazek... problem leży w tym, że mam 26 takich rzeczy i troche głupio byłoby wszystko robić ręcznie, szczególnie że jeden jest a innego nie ma, a wszystko będzie się uzupełniało "na bierząco" tongue.gif)
jaslanin
Następnym razem podawaj kod bo po Twoich informacjach trudno się zorientować o co chodzi. W każdym razie ja to tak zrozumiałem.

Cytat
Jak zrobić aby nie pokazywał mi się błąd iż dany użytkownik nie istnieje


Usuń element kodu który to robi (Wyświetla ten komunikat). Chociaż wątpię w tego sens. Bo w jaki sposób chcesz pokazać np. awatar kogoś kogo nie ma? Z stąd prawdopodobnie Twój kolejny problem.

Cytat
i co mam zrobić, aby w dalszej części skryptu zamiast tej zmiennej pokazywał mi się inny napis? Nad skryptem pokazuje mi się:
You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near '' at line 1


Prawdopodobnie próbujesz wyszukiwać avatar użytkownika który nie istnieje i masz w którymś zapytaniu (wynikowym tzn. na wejściu mysql, po wstawieniu zmiennych) coś takiego:

Kod
SELECT * FROM user_avatars WHERE user_id=


Cytat
(w dalszej części wyciągam z bazy jego nick oraz avatar i chciałbym aby zamiast nich pojawiały się napisy "brak" oraz wybrany przeze mnie obrazek... problem leży w tym, że mam 26 takich rzeczy i troche głupio byłoby wszystko robić ręcznie, szczególnie że jeden jest a innego nie ma, a wszystko będzie się uzupełniało "na bierząco" tongue.gif)


Przy takiej ilości elementów by zautomatyzować pracę dobrze by było używać jakiegoś frameworka z mvc. Ale do tego potrzebował byś się nauczyć programowania obiektowego.
vbig
To wszystko to jeden duży problem a nie dwa małe smile.gif
W każdym razie

Cytat
Usuń element kodu który to robi (Wyświetla ten komunikat).


no właśnie tu leży problem że nie chcę tego robić, bo ten kod ma być przez dłuższy czas i ma się sam uzupełniać przy napływającej ilości użytkowników... Jak pisałem troche tego jest i niektóre są a niektórych nie ma a nie chcę usuwać na siłe i później co jakiś czas wracać do tego żeby ręcznie ustawiać tongue.gif

Cytat
Bo w jaki sposób chcesz pokazać np. awatar kogoś kogo nie ma?

No właśnie nie wiem i dlatego tu pytam winksmiley.jpg
jaslanin
W takim razie zrób dokładnie to co mówisz.

1. Na początku gdy pobierasz dane o użytkowniku zrób 3 zmienną $flaga_uzytkownik_istnieje, do niej przypisuj jej wartość bool czy zmienna $zmienna ma dane użytkownika. Sprawdzanie zależy co jest zwracane do zmiennej $zmienna przez funkcje: dbarray i dbquery.

Potem zależnie co masz w kodzie:

Kod
if ($flaga_uzytkownik_istnieje && $flaga_awatar_istnieje) {
// pokaz awatar lub zwróc awatar
} else {
// pokaż napis brak lub zwróć brak
}
vbig
hmmm tongue.gif przepraszam, nie zrozumiałem...

  1. $flaga_uzytkownik_istnieje = (is_bool($users['user_avatar']) == true)
  2. if($flaga_uzytkownik_istnieje) {
  3. // pokaz awatar lub zwróc awatar
  4. } else {
  5. // pokaż napis brak lub zwróć brak
  6. }


tak? (Chyba coś mi nie wyszło tongue.gif)

to nikt nie pomoże? sad.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.