![]() |
![]() ![]() |
![]() |
--Początkujący-- |
![]()
Post
#1
|
Goście ![]() |
Chciałbym zmienić obsługe bazy z przestarzałego mysql_connect etc. na pdo.
I mam kilka pytań, php ogarniam tylko strukturalnie i czy warto użyć w takim kodzie pdo i czy działało by to sensownie? Da się zrobić jakieś stałe połączenie z bazą za pomocą pdo? Czemu pytam? Już pisze. Poczytałem troche o pdo i chciałem powoli edytować pliki. Mam plik config_db.php gdzie miałem połączenie z bazą - zmieniłem na pdo. W pliku index.php sklejałem head.php (includuje tam config_db.php oraz func.php), news.php i foot.php. No wszystko działało, połączenie z bazą było, ale tylko do momentu kiedy chciałem użyć funkcji z pliku func.php w foot.php. Funkcja polegała na tym, że zliczała ilość użytkowników online. Na starym połączeniu, wystarczał tylko plik config_db.php w head.php i zapytania w funkcjach działały wszedzie (head, news, foot), bez połączenia w func.php. Teraz pdo wypluwa błąd, że nie ma połączenia :< Kiedy dodałem na poczatku funkcji nowe połączenie pdo, to wszystko działało. Widać mało czytałem, ale troche bez sensu, że połączenie nie jest dostępne dla funkcji które są inkludowane zaraz po połączeniu - chyba, że źle coś robie, to przepraszam ;d. Troche zawile to wyjaśniłem, ale może ktoś się połapie. ;p Z góry proszę nie pisać coś w stylu: "Naucz się OOP" - próbowałem kilka razy, ale to dla mnie jakaś czarna magia (ucze się sam z kursów na necie ;p) Tutaj kod, gdyby ktoś chciał: http://wklej.to/i7apF |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
zamiast # kiedy dodam tutaj nowe poalczenie z baza to dziala
daj : GLOBAL $db; Ale osobiście odradzam PDO. Ma za dużo błędów (jak dla mnie). Stare, poczciwe mysql_ najlepsze... Ten post edytował mmmmmmm 8.05.2013, 17:16:42 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 476 Pomógł: 96 Dołączył: 10.04.2008 Skąd: Koszalin Ostrzeżenie: (0%) ![]() ![]() |
Ale osobiście odradzam PDO. Ma za dużo błędów (jak dla mnie). Stare, poczciwe mysql_ najlepsze... Ty tak na serio? -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 332 Pomógł: 22 Dołączył: 6.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
mm podaj jakie. Podaj jakie użytkownicy chętnie poznają
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Niestety tak. PDO ma błędy, co gorsza z jakichś powodów nie wykona SQL i zapomni o tym poinformować, Zero komunikatu o błędzie. Zgłosiłeś to? To podaj przykład, bo trudno mi uwierzyć że zapomina poinformować o niewykonaniu połączenia. Ten post edytował !*! 9.05.2013, 08:41:38 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Obstawiam że kolega @mmmmmmm machnął sobie jakiegoś wrapera do PDO
![]() -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
JEdne błędy nazywają "ficzerami". Np. taki "ficzer": For most databases, PDOStatement::rowCount() does not return the number of rows affected by a SELECT statement.
Albo nie zgłaszanie błędu, gdy INSERT/UPDATE nie powiedzie się z powodu błędnego triggera |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ok, tylko gdzie ten kod? Pisałeś że PDO jest gorsze bo nie pluje błędami. To jest gorsze, bo zawiera błędy, czy jest gorsze bo nie potrafisz z niego korzystać?
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Kolejny ficzer:
Oczywiście, nie doczekam się Exception... |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A ten wyjątek powinien się pojawić bo
![]() - jeżeli to całość to w przypadku braku obiektu masz fatala - execute zwraca true / false Ten post edytował skowron-line 9.05.2013, 13:44:11 -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Bo zapytanie się nie wykonuje, choć jest prawidłowe. PDO twierdzi, że jest błąd HY093
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Bo zapytanie się nie wykonuje, choć jest prawidłowe. PDO twierdzi, że jest błąd HY093 Rozumiem że chodzi tobie o to że w stringu masz komentarz Cytat /* jako :imie2 podam poprawne drugie imie, ale nie zawsze musze */ i wyświetla Kod Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in /var/www/test/di/index.php on line 11 No i tu pojawia się drugi podpunkt z mojego poprzedniego posta -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 332 Pomógł: 22 Dołączył: 6.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Z tego co widzę to wydaje się że !*! ma rację
Cytat bo nie potrafisz z niego korzystać?
-------------------- |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ta. WARNING
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wyjaśni mi ktoś o co mmmmmmm chodzi?
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 07:43 |