Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]mysql i mysqli, Połączenie z bazą
set4812
post
Post #1





Grupa: Zarejestrowani
Postów: 150
Pomógł: 3
Dołączył: 13.04.2010

Ostrzeżenie: (0%)
-----


W odzielnym pliku mam zapis połączenia z bazą danych za pomocą mysql dołączony do głównego pliku. W innym pliku mam stworzona klasę którą teraz dołączam do głównego pliku także. Słyszałem że mysqli jest efektywniejsze a mi nie działa połączenie z bazą danych w klasie na mysqli a na mysql działa bez zastrzeżeń. Proszę aby ktoś mi wytłumaczył jak rozwiązać problem z połączeniem za pomocą mysqli oraz czy jest ogromna różnica miedzy mysql a mysqli.
Dziękuje pozdrawiam set4812
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Najogólniej rzecz ujmując, to w przykładach widzisz $db, ponieważ jest to uchwyt do bazy danych zadeklarowany przez programistów. Przypisują do niego identyfikator połączenia i wykorzystują za każdym razem gdy chcą z niej skorzystać. To łącznik między skryptem i bazą. Nawet prostszy mysql tak działa, ale bardzo często nie jest on jawnie przekazywany do funkcji mysql_* gdyż ustawia się domyślnie i można go pominąć przy wywołaniu. Zauważ w manualu że 90% funkcji tego typu ma jako ostatni parametr mysql_identifier czy coś w tym stylu. To jest odpowiednik $db. Uzywa się go bowiem rzadko i jedynie w sytuacjach, gdy obsługujemy kilka baz/serwerów mysql w obrębie jednego skryptu. Dzięki przypisaniu $this->db = $db , identyfikator połączenia jest cały czas dla obiektu dostępny.

PS.: W ostatnim swoim przykładzie masz lukę. Nie sprawdzasz czy $res ma cokolwiek w sobie a od razu walisz przypisanie tablicy wyniku do $row. A skąd wiesz, że dostałeś jakikolwiek rekord? A może nie ma takiego w bazie? Pamiętaj, że powinno się zawsze sprawdzać poprawność pobranych danych nie tylko poprzez sprawdzanie czy wystąpił błąd, ale ile rekordów zwróciło zapytanie.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 03:54