![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 172 Pomógł: 0 Dołączył: 22.09.2002 Skąd: Gorzów Wlkp Ostrzeżenie: (0%) ![]() ![]() |
Hej.
Jak w temacie. Poszukuje jakiejś dobrej klasy(najlepiej abstrakcji) do obsługi MySQL w wersji 5.x z jego nowymi możliwościami. Ciekawe wydaje mi się PDO, ale z tego co się doczytałem obsługuje MySQL w wersjach 4.0.x i niższych. Czy mysqli obsługuje nowe możliwości MySQL ? - powodem utworzenia tego rozszerzenia, jak twierdzą serwisy zend.com, czy php.net było właśnie umożliwienie korzystania z dobrodziejstw nowych wersji MySQL (ale wyczytałem tylko o MySQL 4.1.x - czy np. 5.0.x również?). Chodzi mi głównie o obsługę transakcji, procedur i funkcji. Z góry thx za pomoc. Pozdrawiam. anas |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
PDO obsluzy mysql 5.0 -- przed chwila sprawdzalem, tzn tylko polaczenie, SELECT.
do po laczenia sie -- manual nie wspomina (moze za krotko szukalem) o specyfikowani portu serwera wu mysqla, droga prob i bledow oraz analogi dotarlkem do rozwiazania:
------ "Chodzi mi głównie o obsługę transakcji, procedur i funkcji." -- tego nie sprawdzilem ![]() Ten post edytował dr_bonzo 27.11.2005, 20:09:49 -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Cytat Chodzi mi głównie o obsługę transakcji, procedur i funkcji. Procedury i funkcje nie zaleza od db layera bo mozesz je wolac tak samo jak SQL, ale zawsze mozna sobie stworzyc ich wlasna obsluge, pytanie tylko po co? Odnosnie transakcji podobnie jak w funkcjach wysylane jest polecenie do bazy danych i PDO wystawia metody: beginTransaction(), commit(), rollBack(). -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 172 Pomógł: 0 Dołączył: 22.09.2002 Skąd: Gorzów Wlkp Ostrzeżenie: (0%) ![]() ![]() |
Hej.
W takim razie ide testowac. SongoQ - chodzi mi wlasnie o fakt czy beginTransaction(), commit(), rollBack() zadziala poprawnie dla polaczenia z 5.x wersja serwera MySQL. Co do wywolywania procedur czy funkcji rzeczywiscie mozna to potraktowac jak zwykle zapytania, wiec tutaj nie problem ![]() dr_bonzo: thx odnosnie polaczenia i info o probach. pozdrowka anas |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 22.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Wczoraj zainstalowałem php 5.1.0 i mysql 5.0.15 i zacząłem testować PDO w takiej konfiguracji. Zamieszczam zestaw testów, który u mnie zakończył się powodzeniem. Sprawdziłem podstawowe rzeczy. Niestety napotkałem problemy w wywoływaniu procedur poprzez PreparedStatment i dowiązywanie parametrów metodami PDOStatement::bindParam() i PDOStatement::bindValue(). Póki co nie udało mi się. Efekt jest taki że skrypt się zapętla. Może komuś się udało?
Do testowania kodu używam http://sourceforge.net/projects/simpletest/
..jest green bar, więc nie jest tak źle. Ja kupuje to. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Odnosnie metody PDOStatement::bindParam() to tak naprawde stworzone bylo z mysla o ORACLE gdyz wymagany jest bind param jesli zapytanie przekracza 4KB. Jesli faktycznie w przypadku MySQL jest blad to nic innego nie zostaje nam jak czekac az zostanie to naprawione.
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 204 Pomógł: 0 Dołączył: 26.12.2003 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Cytat Niestety napotkałem problemy w wywoływaniu procedur poprzez PreparedStatment i dowiązywanie parametrów metodami PDOStatement::bindParam() i PDOStatement::bindValue(). Póki co nie udało mi się. Efekt jest taki że skrypt się zapętla Wydaje mi się, że mamy podobny problem. Mój jest opisany tutaj i został oznaczony jako fałszywy, ponieważ wg. developerów php jest to wina binarnej niekompatybilności klienta MySQL, chociaż uzywając klienta 5.0.16 i serwera 5.0.16 praktycznie każde użycie mysqli powoduje zapętlenie się. Ten post edytował Ozzy 13.12.2005, 01:37:51 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:12 |