Witam, zaczynam przygodę z obiektowym php'em. Napisałem sobie kod na dodawaniem danych do bazy:
class Base {
public $db_config = array(
'host' => 'localhost',
'port' => '3306',
'user' => 'root',
'pass' => '',
'db' => 'oop',
'db_type' => 'mysql',
'encoding' => 'utf-8'
);
public $options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
// Connect to Database
public function __construct() {
try {
$dsn = $this->db_config['db_type'] . ':host=' . $this->db_config['host'] . ';port=' . $this->db_config['port'] . ';encoding=' . $this->db_config['encoding'] . ';dbname=' . $this->db_config['db'];
$conn = new PDO($dsn, $this->db_config['user'], $this->db_config['pass'], $this->options);
} catch(PDOException $e) {
die('Nie można połączyć z bazą danych: '.$e->getMessage().'</br>');
}
}
}
class Base_add extends Base {
public function add($table, $val1, $val2) {
$result = $conn->prepare("INSERT INTO '$table' VALUES null '$val1', '$val2'");
$result->execute();
$row = $result->fetch();
}
}
W dalszej części kodu oczywiście obiekt jest wywoływany, natomiast nie wczytuje mi zmiennej $conn. Tutaj wyświetlany błąd:
Notice: Undefined variable: conn in C:\xampp\htdocs\... on line 30
Proszę o pomoc oraz nakierowanie na rozwiązanie problemu. Możecie też doradzić czy robię to w dobry sposób? Mój pierwszy raz z obiektówką.