![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 1 Dołączył: 9.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Od jakiegoś czasu szukam na necie rozwiązania w związku z błędem zapytania MySQL, który pojawił się w moim skrypcie. Do połączenia z bazą mysql wykorzystuje bibliotekę PDO. Baza jest postawiona na silniku InnoDB. Mam zapytanie predefiniowane wykonywane poleceniem bindValue.
Przykładowe zapytanie to:
Oczywiście pod ':q' podczepione jest:
Teraz najlepsze. Zapytanie na mojej bazie MySQL postawionej na Windowsie (wersja mysql: 5.0.51a-community-nt) wykonywane jest PRAWIDŁOWO. Natomiast to samo zapytanie wykonywane na na linuxie FreeBSD (wersja mysql: 5.0.9-beta) pokazuje błąd:
Co ciekawe jeśli zmniejszę ilość warunków, czyli zapytanie jest w postaci np.:
wszystko wykonywane jest prawidłowo. Ciekawe prawda? Jeśli całe zapytanie z wszystkimi warunkami przetworze bezpośrednio w phpmyadminie, ale bez zapytania predefionowanego to też wszystko jest ok. Tak więc pytanie czym ten błąd jest spowodowany i dlaczego tak ograniczane jest to zapytanie predefiniowane przez bazę? |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Pokaż kod, którym to wywołujesz oraz podaj, z jakiej wersji interpretera korzystasz - instalowana z paczek/z portów/samodzielnie kompilowana?
|
|
|
![]() ![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 1 Dołączył: 9.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chodzi o PHP na windzie to:
Jeśli chodzi o serwer linuxa to:
Z tym że do PHP z linuxa PDO był kompilowany specjalnie (tamta wersja PHP go nie miała) i dodany do rozszerzeń w php.ini: - pdo.so (chyba 1.0.3) - pdo_mysql.so (chyba 1.0.2) Powyższe pliki pobrane z http://pecl.php.net/get/.... Co do kodu, z którego to wywołuje, to jest problem, ponieważ wszystko jest zabudowane w osobnej klasie (wszystkie instrukcje komunikatujące się z PDO). Ale postaram się napisać jak wyglądałby kod w jednym pliku:
Dodam, iż błąd pojawia się na instrukcji "execute", wiec mogę pomarzyć o zobaczeniu jakichkolwiek wyników... |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Możesz używać nowszej wersji niż ten staroć, jakim jest 5.0? W tej chwili najnowszym stabilnym buildem jest 5.3, a z lini 5.2 - 5.2.12 bodajże.
Najpierw uaktualnij, potem pogadamy. ;] |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 1 Dołączył: 9.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Było z tym trochę zachodu i sporo czasu straciłem na naukę FreeBSD, ale zainstalowałem PHP w wersji 5.2.11 wraz z najnowszymi rozszerzeniami, najnowszym PDO i już błąd się nie pojawia. Zupełnie jakbym uruchamiał skrypt u siebie na kompie (IMG:style_emoticons/default/winksmiley.jpg)
Wielki dzięki. Temat do zamknięcia (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 08:17 |