Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]pdo szybkie podłączenie
Ruch Radzionków
post 20.12.2018, 16:22:21
Post #1





Grupa: Zarejestrowani
Postów: 311
Pomógł: 25
Dołączył: 29.08.2011

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


chcę stworzyć klase podłączenia pdo i dodatkowo zrobić szybki odczyt zapytania
  1. class db {
  2.  
  3. //main db
  4. public $db;
  5.  
  6. public $querys;
  7.  
  8. function __construct()
  9. {
  10. global $mit;
  11. try {
  12. $this->db = new PDO("mysql:host={$mit->ustawienia['baza']['host']};dbname={$mit->ustawienia['baza']['dbaza']};charset={$mit->ustawienia['baza']['typkodowania']}", $mit->ustawienia['baza']['uzytkownik'], $mit->ustawienia['baza']['haslo'], [PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
  13. }
  14. catch (PDOException $blad) {
  15. echo $blad->getMessage();
  16. exit('nie mozana sie podlaczyc do bazy');
  17. }
  18. }
  19. function szybkopodlacz($gwiazda="*", $tabela, $gdzie, $opcja=array())
  20. {
  21. global $mit;
  22. $podlacz = "SELECT {$gwiazda} FROM {$mit->ustawienia['baza']['prefix']}{$tabela}";
  23. if($gdzie != "")
  24. {
  25. $podlacz .= " WHERE ".$gdzie;
  26. }
  27. if(isset($opcja['groupby']))
  28. {
  29. $podlacz .= " GROUP BY ".$opcja['groupby'];
  30. }
  31. if(isset($opcja['orderby']))
  32. {
  33. $podlacz .= " ORDER BY ".$opcja['orderby'];
  34. if(isset($opcja['orderdir']))
  35. {
  36. $podlacz .= " ".my_strtoupper($opcja['orderdir']);
  37. }
  38. }
  39. if(isset($opcja['limitstart']) && isset($opcja['limit']))
  40. {
  41. $podlacz .= " LIMIT ".$opcja['limitstart'].", ".$opcja['limit'];
  42. }
  43. else if(isset($opcja['limit']))
  44. {
  45. $podlacz .= " LIMIT ".$opcja['limit'];
  46. }
  47. $query = $this->prepare($podlacz);
  48. $query->execute();
  49. return $query;
  50. }
  51. }


i wyskakuje mi taki błąd

Fatal error: Uncaught Error: Call to undefined method db::prepare() in /config/function/function_database_pdo.php:51 Stack trace: #0 /config/settings.php(32): db->szybkopodlacz('*', 'ustawienia', 'id='1'', '') #1 /index.php(12): require_once('/config/setting...') #2 {main} thrown in /config/function/function_database_pdo.php on line 51


linia 51 to:

  1. $query = $this->prepare($podlacz);


--------------------
Pomogłem daj pomógł
Go to the top of the page
+Quote Post
viking
post 20.12.2018, 17:07:03
Post #2





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

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


$this->db->prepare chociaż nie wiem po co tego używasz jak nic nie daje. Cała ta klasa jest do wyrzucenia tak naprawdę. Pełno zbędnych rzeczy + global.


--------------------
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: 24.04.2024 - 22:10