![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 15.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam problem związany z używaniem PDO (PHP Data Objects) a konkretnie to z użyciem rowCount() na zapytania typu SELECT, gdyż zawsze zwraca Mi wartość równą zeru... Po chwilowych poszukiwaniach znalazłam to -> http://bugs.php.net/bug.php?id=40822 i niestety stoję w kropce bo Ja mam php 5.1.6 i nie ma możliwości przesiadki na 5.2 (serwer wirtualny, pytałam się i w najbliższym czasie update'a nie przewidują...) I nasuwa się pytanie - czy jest JAKAŚ możliwość by działało to poprawnie na 5.1.6 ? ![]() EDIT: Przeszukałam neta i nie znalazłam nigdzie rozwiązania tego problemu więc chyba zrezygnuje z PDO bo na php 5.2 nie mam co liczyć o czym już wspomniałam więc mam nieco odmienne pytanie. Co będzie wydajniejsze, czy używanie mysql_ czy też jakaś db klasa na wywoływanie 6 do około 15 zapytań przy każdym "przejściu", zapytania raczej proste - SELECT, UPDATE, DELETE, INSERT... i jeśli db to jaką by wybrać (prostą i szybką) bo Sama to nie bardzo cuś takiego napisze... Ten post edytował Ania-678 17.07.2007, 23:19:14 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
No to podaj nam kod, to zobaczymy.
-------------------- Najczęstsze błędy | Jak poprawnie zadać pytanie? | Serwer PHP - od czego zacząć?
SQL Injection | Hashowanie haseł | Jak działają sesje, przykłady ___ The world is yours ... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 15.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
hmmm... ponad 100 różnych plików php mam wklejać...?
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
hmmm... ponad 100 różnych plików php mam wklejać...? ![]() A jak myślisz? ![]() Zrób u siebie prosty kod, w którym ewidentnie nie działa Ci ta metoda, to zobaczymy co da się zrobić. Czy aby napewno w tym wypadku winę ponosi wersja php. Dobrze by było jakbyś zobaczyła to również na localhost'ście z nowszą wersją php. Pozdrawiam. -------------------- Najczęstsze błędy | Jak poprawnie zadać pytanie? | Serwer PHP - od czego zacząć?
SQL Injection | Hashowanie haseł | Jak działają sesje, przykłady ___ The world is yours ... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 15.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam takowy:
I to:
wysiada o czym wyżej wspomniałam bo php 5.1 ma BUGa na zliczanie wierszy i dopiero FIXnięty został w 5.2 ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
A nie możesz zamiast rowCount() wydobyć tego jako proste zapytanie, np. coś takiego:
? -------------------- Najczęstsze błędy | Jak poprawnie zadać pytanie? | Serwer PHP - od czego zacząć?
SQL Injection | Hashowanie haseł | Jak działają sesje, przykłady ___ The world is yours ... |
|
|
![]() ![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 15.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
*gleba*
Działa ![]() Problemów ciąg dalszy, mam taki fragment:
i sprzedaje Mi errora: Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND pass=COŚ' at line 1' in /home/COŚ2.php:106 Stack trace: #0 /home/COŚ2.php(106): PDO->query('SELECT id, user...') #1 /home/COŚ1.php(4): require_once('/home/...') #2 {main} thrown in /home/COŚ2.php on line 106 ![]() Ten post edytował Ania-678 18.07.2007, 02:21:35 |
|
|
![]()
Post
#8
|
|
![]() 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%) ![]() ![]() |
A nie slyszala Pani o bindParam, radze wszystkie zapytania tak wykonywac no wiadomo z jakich przyczyn.
-------------------- |
|
|
![]() ![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 15.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
No Pani słyszała ale nie doczytała iż w select'ach też się używa w takich przypadkach... ale już wie
![]() Tylko znów Pani problem ma:
A mianowicie znów sprzedaje errora: Fatal error: Cannot use object of type PDOStatement as array in /home/blablabla.php on line 26 Linijka 26 to:
![]() Ten post edytował Ania-678 18.07.2007, 10:42:32 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No chyba Pani ma po polsku napisane: "Nie mozesz uzyc obiektu PDOStatement jak tablicy".
Co tlumaczyc na chinski znaczy: uzyj fetch() by dobrac sie do tego co zwraca select ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 235 Pomógł: 17 Dołączył: 18.07.2007 Skąd: Białystok Ostrzeżenie: (0%) ![]() ![]() |
tak powinno pojść ![]() |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 15.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Poszło, ale nie na długo bo... sprzedało Mi kolejnego errorca:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':ip, page=:page WHERE id=:id' at line 1' in /home/blablabla.php:267 Stack trace: #0 /home/blablabla.php(267): PDO->exec('UPDATE usr ...') #1 /home/blablabla.php(4): require_once('/home/blabla...') #2 {main} thrown in /home/ftp/blablabla.php on line 267 Kod:
267 to:
I Ja za bardzo nie widzę błędu... Ten post edytował Ania-678 18.07.2007, 12:02:08 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 235 Pomógł: 17 Dołączył: 18.07.2007 Skąd: Białystok Ostrzeżenie: (0%) ![]() ![]() |
droga Aniu
po pierwsze : PDO-> exec po drugie : PDO->prepare() po niezbyt wnikliwej analizie kodu stwierdzam że to powinno wystarczyć ![]()
powinno pomóc Ten post edytował kosmowariat 18.07.2007, 12:39:19 |
|
|
![]() ![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 15.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
![]() Faktycznie był tam exec zamiast prepare..... Ale po zmianie już działa |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.08.2025 - 20:13 |