Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]pdo szybkie podłączenie
Forum PHP.pl > Forum > Przedszkole
Ruch Radzionków
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);
viking
$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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.