[mysql][php] PDO i uaktualnianie ilości podczas UPDATE? |
[mysql][php] PDO i uaktualnianie ilości podczas UPDATE? |
27.09.2017, 11:52:24
Post
#1
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 25.11.2015 Ostrzeżenie: (0%) |
Witam.
Stawiam pierwsze kroki z PDO. Posiadam taką podstawoiwą klase, któa obsługuje mi zapytania w przyjemniejszy sposób. U mnie wygląda to tak:
Teraz moja klasa:
Problmeme jest to, że zapis nie funkcjonuje: $db->addValue('ilosc', "ilosc-$odejmij_ilosc", PDO::PARAM_STR); Jak korzystałem ze zwykłych zapytań SQL w mysqli to taki zapis funckonował. Teraz dostrzegłem też, że jest PDO::PARAM_STR . W polu tym mogą też być liczby dziesiętne, więc PDO::PARAM_INT Jak zrobić, aby $odejmij_ilosc odejmowało się od obecnej liczby w bazie danych. |
|
|
27.09.2017, 11:58:56
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
wyrazen matematycznych sie nie binduje
nie: ilosc = :ilosc a: ilosc = ilosc - 5 Od biedy jak chcesz to mozesz zbindowac 5 a nie cale wyraznie "ilosc -5" -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
27.09.2017, 14:01:09
Post
#3
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 25.11.2015 Ostrzeżenie: (0%) |
wyrazen matematycznych sie nie binduje nie: ilosc = :ilosc a: ilosc = ilosc - 5 Od biedy jak chcesz to mozesz zbindowac 5 a nie cale wyraznie "ilosc -5" Czyli musze dorobić drugi rodzaj Parametrów definiowanych np tak:
a w kodzie w takim przytpadku zmaiast:
wklejam prosto do zapytania $sqlQuery do sekcji SET ilosc = ilosc-5 ? Ten post edytował luis2luis 27.09.2017, 14:09:18 |
|
|
27.09.2017, 14:08:21
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
Nom, cos w ten desen. Tylko miej litosc i nie mieszaj polskiego z angielskim.
No i to: $db->addValueBezBind('ilosc', ilosc-$odejmij_ilosc); zakladam, ze to literowka tylko? Powinno byc $db->addValueBezBind('ilosc', "ilosc-$odejmij_ilosc"); -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
27.09.2017, 14:10:23
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Tylko po co? Jak sam widzisz najprostszy niestandardowy sposób użycia i twoja "biblioteka" leży. Po co to robić skoro jest bardziej skomplikowane niż czyste PDO? Masz pełno gotowych, całkiem niezłych ORMów w których to 100x lepiej zostało zaprojektowane. Jeszcze wszędzie te static i echo w catch.
Ten post edytował viking 27.09.2017, 14:11:39 -------------------- |
|
|
27.09.2017, 14:11:05
Post
#6
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 25.11.2015 Ostrzeżenie: (0%) |
Nom, cos w ten desen. Tylko miej litosc i nie mieszaj polskiego z angielskim. No i to: $db->addValueBezBind('ilosc', ilosc-$odejmij_ilosc); zakladam, ze to literowka tylko? Powinno byc $db->addValueBezBind('ilosc', "ilosc-$odejmij_ilosc"); Tak literówka, będzie w cudzysłowie. Mma problemwłaśnie z tym rozdziąłem na Angielski, Polski. W pewnym okresie mojego programowania zacząłem wprowadząc Polskie nazwy, teraz od tego odchodze. Dziękuje za pomoc. Cytat Tylko po co? Jak sam widzisz najprostszy niestandardowy sposób użycia i twoja "biblioteka" leży. Po co to robić skoro jest bardziej skomplikowane niż czyste PDO? Masz pełno gotowych, całkiem niezłych ORMów w których to 100x lepiej zostało zaprojektowane. Rzeczywiście, nie jest to zbyt optymalna sprawa. Kiedys zakupilem od kogoś skrypt, wtedy jeszcze nie znałem PDO, zacząłem prace z PDO i wzorowąłem się na tym skrypcie. Nie jest to idealna sprawa cały czas pojawiaj się nowe ograniczenia, jednak czysty PDO wydaje mi się że za każdym razem musze powielać sporo kodu. Jakie ORM'y masz na mysli? Bawiąłme isę kiedyśz różnymi klasami do obsługio zapytań PDO, jednak były poteżne kilkaset KB, wydawało mi się to niepotrzebne obciążanie skryptu, tybardziej ,ze to klasa, czyli wszystko wskakuje do Pamięci serwera. Ten post edytował luis2luis 27.09.2017, 14:16:03 |
|
|
27.09.2017, 14:22:19
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Propel, Doctrine, Eloquent, Adodb, Zend\Db i cała lista. Są oczywiście też proste nakładki na PDO, wystarczy poszukać na github. No i co z tego że "potężne"? Nie wysyłasz tych danych do klienta za każdym razem tylko przetwarzasz po stronie serwera.
-------------------- |
|
|
27.09.2017, 14:38:14
Post
#8
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 25.11.2015 Ostrzeżenie: (0%) |
Propel, Doctrine, Eloquent, Adodb, Zend\Db i cała lista. Są oczywiście też proste nakładki na PDO, wystarczy poszukać na github. No i co z tego że "potężne"? Nie wysyłasz tych danych do klienta za każdym razem tylko przetwarzasz po stronie serwera. Troszeczke obawiam się takich rozwiązań. Kiedyś już postawiłęm na system szabonów RainTPL, który już nie jest wspierany i jest lekko mówiąc lipa. Obawiam się, że takie jedno czy drugie rozwązanie nie bedzie wspierane, wejdą zmiany w PHP i bede w tyle, alebo znowu mase siedzenia żeby przemigrować na inne rozwiązanie. |
|
|
27.09.2017, 14:42:17
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Drugi raz słyszę o raintpl, pierwszy był przy okazji innego twojego wątku Skoro postawiłeś na coś tak niszowego to nie ma się co dziwić. Na początek zacznij korzystać z composera. Popularny ORm to ciągłe poprawki - także w zabezpieczeniach.
-------------------- |
|
|
28.09.2017, 11:04:29
Post
#10
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 25.11.2015 Ostrzeżenie: (0%) |
Dziekuje Panowie, ża pomoc i nakierowanie do dalszego kierunku nauki
|
|
|
Wersja Lo-Fi | Aktualny czas: 28.03.2024 - 19:41 |