Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne][MySQL][PHP] Stare skrypty i przejście na PDO, Za głęboka woda...
roobik
post 1.12.2017, 19:54:14
Post #1





Grupa: Zarejestrowani
Postów: 407
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław / Szczytna

Ostrzeżenie: (0%)
-----


Rzadko piszę na Forum - tylko wtedy gdy mam "nóż na gardle". Nie będę ściemniał, że "potrzebuję pomocy w kodzie" itd... Jestem w plecy jeśli chodzi o php i do jakiegoś czasu myślałem, że php 5.2 mi zupełnie wystarczy. (no comments).
Na jakimś forum (nie chcę robić darmowej reklamy) wyczytałem żeby najlepiej przejść na PDO. No i zonk, bo nigdy nie miałem z tym nic do czynienia. Od kilku dni próbuję coś chwycić, ale najlepiej uczę się na tym, co "sam" zrobię.

I teraz do rzeczy.
Kochani! Krótka piłka. Jak takie cuś (kod poniżej) przerobić(?) na to PDO? Przede wszystkim chodzi o poprawne (wręcz łopatologiczne) przepisanie kodu (INSERT, UPDATE), by wszystko śmigało. Bardzo Was proszę - nie odsłyłajcie mnie do innych stron i/lub manuali - na wspomnianym forum wyczytałem też, że najlepiej przejść stopniowo:
np. z php 5.2 na 5.3... potem z 5.3 na 5.4... potem z 5.4 na 5.5 by w końcu przejść z 5.5 na 5.6... Po prostu zdurnieć idzie.

OK. Kody:

  1. function mini() {
  2. $cat = $_GET['cat'];
  3. if($cat=='dance') $catq='1';
  4. if($cat=='synth') $catq='2';
  5. ...
  6. if($cat=='filmowa') $catq='10';
  7.  
  8. $zap_new_muza = "SELECT * FROM muzyka WHERE cat='$catq' AND status=0 ORDER BY date DESC LIMIT 5";
  9.  
  10.  
  11. $wyn_new_muza = mysql_query($zap_new_muza);
  12.  
  13. while($r = mysql_fetch_array($wyn_new_muza)) {
  14. $id = $r['id'];
  15. $cat= $r['cat'];
  16. $date = $r['data'];
  17. $date = date("Y.m.d");
  18. $tytul1 = $r['title'];
  19. $tytul2 = $r['title2'];
  20. $text = $r['text'];
  21.  
  22.  
  23. echo...
  24. }


I czy potrzebne są wtedy globale, $_GET['costam'] , ob_start() ?

Czy wtedy taki zapis:
  1. if(is_user_login()<>'yes'){
  2.  
  3. //tresc dla niezalogowanego
  4.  
  5. }
  6. if(is_user_login()=='yes'){
  7.  
  8. //tresc widoczna dla zalogowanego
  9.  
  10. }

jest dobry?

Postaram się to szybko załapać i wdrożyć na-ten-tychmiast.

Bardzo ale to BARDZO dziękuję z góry za wszelkie wskazówki.

Pozdrawiam!!!
Go to the top of the page
+Quote Post
viking
post 1.12.2017, 20:20:48
Post #2





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Ale masz przecież w dokumentacji pełno przykładów http://php.net/manual/pl/pdo.prepare.php http://php.net/manual/pl/pdostatement.execute.php


--------------------
Go to the top of the page
+Quote Post
roobik
post 1.12.2017, 20:34:46
Post #3





Grupa: Zarejestrowani
Postów: 407
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław / Szczytna

Ostrzeżenie: (0%)
-----


Że tak powiem... angielski u mnie "not łokej"...
Jak chodziłem do szkoły (ekhm....) to był tylko ruski. biggrin.gif

Zapytam inaczej:
Strona działa (jeszcze) na jportalu, który jest przeze mnie już setki razy modyfikowany. Po prostu jportala znam na wylot wzdłuż i wszerz. Z tym, że to jest dość sporo plików (moduły, strony statyczne... ) - jest tego naprawdę w cholerę i jeszcze trochę.
Więc czy jest sens reperować dziadka, czy może odłączyć go od respiratora?
Czy jest w miarę przystępny CMS , który szybko można by wdrożyć - podobny do "portka" (of kors wink.gif )

Przerabiałem już m.in. e107, madesimple, typo3, phpfusion, windu, modx (nie wspomnę o jomli czy tzw "nuke'ach). Zbyt rozbudowane jak na moje "skromne" potrzeby...
Także wybór marny: albo po raz kolejny wskrzeszam dziadka (który nota bene ma już z 15 lat), albo "pyk".
Tak, czy inaczej :
- jeśli zostanę przy "portku" - wiąże się to z przepisaniem kodu od początku
- jeśli wezmę inny cms - i tak muszę go dostosować do istniejącej bazy
W jednym i drugim przypadku byłyby te same zapytania...

Może ktoś zna w miarę dobry i szybki cms, który by pociągnął te sanki?

Ten post edytował roobik 1.12.2017, 20:51:39
Go to the top of the page
+Quote Post
Tomplus
post 1.12.2017, 21:06:51
Post #4





Grupa: Zarejestrowani
Postów: 1 836
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


Myślę że ta klasa pomogłaby ci:
https://github.com/wickyaswal/indieteq-php-...-database-class

Miałbyś wtedy coś takiego:

  1. $wyn_new_muza = $Db -> query($zap_new_muza);
  2. foreach($wyn_new_muza as $r) {


Oczywiście $Db musiałoby być globalne w powyższej funkcji.


Dla poprawy dot. bezpieczeństwa:

  1. $Db -> bind("catalog", $catg);
  2. $zap_new_muza = "SELECT * FROM muzyka WHERE cat= :catalog AND status=0 ORDER BY date DESC LIMIT 5";
  3. $wyn_new_muza = $Db -> query($zap_new_muza);
  4. foreach($wyn_new_muza as $r) {


lub

  1. $zap_new_muza = "SELECT * FROM muzyka WHERE cat= :catalog AND status=0 ORDER BY date DESC LIMIT 5";
  2. $wyn_new_muza = $Db -> query($zap_new_muza, ["catalog"=> $catg]);
  3. foreach($wyn_new_muza as $r) {

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 16:14