chcę stworzyć klase podłączenia pdo i dodatkowo zrobić szybki odczyt zapytania
class db {
//main db
public $db;
public $querys;
function __construct()
{
try {
$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]);
}
catch (PDOException $blad) {
echo $blad->getMessage(); exit('nie mozana sie podlaczyc do bazy'); }
}
function szybkopodlacz
($gwiazda="*", $tabela, $gdzie, $opcja=array()) {
$podlacz = "SELECT {$gwiazda} FROM {$mit->ustawienia['baza']['prefix']}{$tabela}";
if($gdzie != "")
{
$podlacz .= " WHERE ".$gdzie;
}
if(isset($opcja['groupby'])) {
$podlacz .= " GROUP BY ".$opcja['groupby'];
}
if(isset($opcja['orderby'])) {
$podlacz .= " ORDER BY ".$opcja['orderby'];
if(isset($opcja['orderdir'])) {
$podlacz .= " ".my_strtoupper($opcja['orderdir']);
}
}
if(isset($opcja['limitstart']) && isset($opcja['limit'])) {
$podlacz .= " LIMIT ".$opcja['limitstart'].", ".$opcja['limit'];
}
else if(isset($opcja['limit'])) {
$podlacz .= " LIMIT ".$opcja['limit'];
}
$query = $this->prepare($podlacz);
$query->execute();
return $query;
}
}
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 51linia 51 to:
$query = $this->prepare($podlacz);