Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pusty wynik zapytania
Forum PHP.pl > Forum > Bazy danych > MySQL
escaflowne
Witam!
Tworzę w php Chata współpracującego z bazą danych mySQL. Działa on następująco. Najpierw pojawia się plik index.htm, który zawiera jedno pole typu text i przycisk Wyślij. Wpisany login ($user) trafia do pliku php, który:
1. Pobiera aktualną datę i czas ($data i $czas);
2. Sprawdza czy istnieją tabele: chat_$data i obecni_$data;
3. Jeżeli tabel nie ma, to tworzy je;
4. Sprawdza czy wpisany login ($user jest już w tabeli obecni_$data);
5. Jeżeli jest, kończy działanie i wypisuje odpowiedni komunikat, jeżeli nie ma, to wpisuje odpowiednie dane i wyświetla sam chat.

Mój problem tkwi w pukcie 2 i 4, gdyż:
2: Jeżeli w bazie danych nie ma tabel, skrypt "głupieje", zapytanie mysql_query nic nie zwraca i skrypt przestaje działać;
4: Jeżeli w tabeli obecni_$data nie ma żadnych wpisów, skrypt "głupieje", zapytanie mysql_query nic nie zwraca i skrypt przestaje działać;

Co mam zrobić, żeby w przypadku gdy nie będzie tabel w bazie danych, lub gdy w tabeli nie ma wpisanych żadnych danych, żeby skrypt nie przestawał danych, tylko żeby odpowiednio: uznawał, że nie ma szukanych tabel, uznawał, że w tabeli nie ma szukanego użytkownika. Uff...
KaMeLeOn
mysql_query() zawsze coś zwraca...
W przypadku niepowodzenia zwraca FALSE.
Wystarczy więc sprawdzić czy wynik jest równy FALSE...
escaflowne
Krótko mówiąc, jeżeli brak tabel, albo brak danych w tabeli, to działanie skryptu kończy się białym ekranem. Chciałbym to jakoś ominąć, a nie wstawiać, np. jakąkolwiek tabelę, żeby tylko była, czy wpisywać jakiegokolwiek użytkownika, żeby tylko jakiś był, i wszystko działało.
KaMeLeOn
Jeśli kończy się białym ekranem oznacza to, że popełniłeś gdzieś błąd w skrypcie...
Włącz raportowanie błędów na E_ALL i sprawdź co wywali, albo pokaż tutaj...
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.