MySQL w PHP, cz. 4

Autor: Łukasz Świerżewski, dodano: 01-11-2004
Kategoria: Programowanie i tworzenie

W poprzednich częściach umieściłem informacje dotyczące nauki korzystania z bazy danych MySQL. Ten artykuł poświęcam problemom, jakie mogą zaistnieć przy korzystaniu z tych elementów

Zamieszczone, w tym tekście zagadnienia będą odnosiły się do elementów zawartych w poprzednich częściach artykułu, a zatem zalecam zapoznać się z nimi.
Jak wiadomo, wszelkie błędy popełnione podczas korzystania z funkcji obsługi MySQL, nie zawsze ukazują się samoczynnie tak, jak w przypadku błędów PHP. Wynikają z tego powodu pewne korzyści, ale są także wady. Dzięki temu nie musimy się martwić o rażące po wejściu na stronę komunikaty o skomplikowanej formule. Z kolei mamy problem ze zlokalizowaniem błędu. Z pomocą przychodzą nam wspomniane już wcześniej funkcje mysql_error() oraz mysql_errno(). Ich połączenie umożliwi nam konstruowanie i przetwarzanie komunikatów błędów zwracanych podczas nieprawidłowego korzystania z funkcji obsługi bazy danych MySQL.
Poniżej przedstawiam często wyświetlane informacje wywołujące problemy:

Unknow MySQL Server Host
Problem ten może zaistnieć, gdy próbujemy nawiązać połączenie z hostem, który nie istnieje lub nie może być zlokalizowany. Neutralizacja tego błędu ogranicza się tylko do sprawdzenia poprawności nazwy serwera w funkcji mysql_connect(), z którym się łączymy w celu uzyskania dostępu do bazy danych.

Access denied for user: ...
Komunikat taki ujawni się nam, gdy podczas próby połączenia się z hostem w funkcji mysql_connect(), podamy nieprawidłową nazwę użytkownika lub hasło. W celu usunięcia usterki, wystarczy sprawdzić czy podane dane zostały poprawnie wpisane lub czy mamy dostęp do bazy danych. Problem może także wystąpić, gdy dany użytkownik nie posiada uprawnień do korzystania z wybranej bazy danych.

Unknow database
Po nawiązaniu połączenia z bazą danych następuje kolej wybrania jednej z dostępnych baz. Posługujesz się ku tym celom funkcją mysql_select_db(). Tytułowy komunikat błędu ujawni się, gdy wprowadzona przez Ciebie w pierwszym argumencie nazwa bazy nie istnieje. Należy upewnić się czy dane są wprowadzone poprawnie i jeśli nie to poprawić wpis.

Supplied argument is not valid MySQL-Link resource
Kolejny opisywany błąd powstaje, gdy w wymagających tego funkcjach podamy błędną nazwę identyfikatora połączenia z bazą danych. Najczęściej jest to argument opcjonalny, dlatego dla mniej doświadczonych nie zaleca się stosowania, w celu uniknięcia pomyłek. Najlepszym rozwiązaniem jest korzystanie z takich samych standardowych nazw zmiennej przechowującej nazwę owego połączenia. W ten sposób nie mylą się nam zmienne, co eliminuje omawiany problem.
Podobną treść mogą mieć także komunikaty błędów, w których na skutek poprzedzających wad konstrukcji kodu, do funkcji przekazywane są nieprawidłowe dane, np. jeśli podczas wybrania nie właściwej tabeli dane nie są pobierane. Gdy w następnej kolejność skorzystamy z funkcji mysql_num_rows(), przekazywany parametr nie zawiera informacji przekazywanych w wywołaniu funkcji mysql_query(), co tworzy konflikt. Warto zatem sprawdzić, czy aby na pewno dane są poprawnie określane.

Table ‘jakas_nazwa_tabeli’ doesn’t exist
Komunikat ten ujrzymy, gdy próbujemy wykonać jakąkolwiek operację, na tabeli, która nie istnieje. Jak widać na przykładzie, w błędzie zwracana jest nazwa tabeli, z której próbujemy skorzystać. W celu neutralizacji tego problemu, należy tak jak w poprzednich przykładach sprawdzić poprawność danych oraz czy podana tabela istnieje w bazie, z której aktualnie korzystasz.

Unknow column ‘jakas_nieistniejaca_kolumna’ in field list
Problem ten pojawi się, gdy w naszych zapytaniach do bazy danych odwołujemy się do nazwy kolumny, która nie istnieje. Naprawa skupia się na poprawieniu konstrukcji zapytania.

Powyżej przedstawione zostały najczęstsze komunikaty błędów, z jakimi możesz się spotkać podczas korzystania z bazy danych MySQL. Jak widać ich interpretacja nie jest zbyt trudna jeśli zna się język angielski. Zapewne istnieją także i inne, rzadziej spotykane, błędy. Jeśli się z nimi spotkasz to napisz do mnie, a na pewno przyjże się temu bliżej i opisze problem.

Ocena 2.63/5 (52.64%) (443 głosów)

Komentarze:



    Dodaj komentarz:


    Temat:
    Twój nick:
    Komentarz:
     

    Prosimy o kulturę wypowiedzi. Komentarze zawierające niecenzuralne zwroty, bądź obrażające inne osoby będą usuwane. Kod HTML w wypowiedziach jest niedozwolony. Wydawca nie odpowiada za treść komentarzy.