Dopiero raczkuję z programowanie php, tak samo z programowanie OOP, na starcie chciałbym zaznaczyć iż przeszukałem forum tak samo prosiłem wujka google o pomoc w tym problemie. Chciałem napisać zwykłe dodawanie rekordu do bazy danych,
class Connect { function __construct() { try { $pdo = new PDO('mysql:host=localhost;dbname=XXX;encoding=utf8', 'XXX', 'XXX'); $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { } } }
Łączenie z bazą danych jak najbardziej działa. Ale mam problem z obsługą PDO podczas dodawania czegokolwiek do bazy.
class Rejestracja extends Weryfikacja { private $login; private $haslo; private $email; function __construct($varlogin, $varhaslo, $varemail) { $this->login = $varlogin; $this->haslo = $varhaslo; $this->email = $varemail; } public function addUser() { $a = new Connect; $stmt = $pdo -> prepare('INSERT INTO `users` (`login`) VALUES( :login)'); $stmt -> bindValue(':login', $time, PDO::PARAM_INT); $stmt -> execute(); } }
No i takie coś wywołuje następujący błąd
Fatal error: Call to a member function prepare() on a non-object in /home/admin/domains/kino1.pl/public_html/php/4/nowa.class.php on line 69
69- linia kodu o nic innego jak linijka
$stmt = $pdo -> prepare('INSERT INTO `users` (`login`) VALUES( :login)');
Dane oczywiście są podane do zapytania. Kopiowanie czegokolwiek z innych stron czy forum (w sensie zapytań INSERT w PDO ) powodują ten sam błąd, czy jest to możliwe, że serwer obsługuje łącznie z bd a nie obsługuje całości PDO ?
Z góry przepraszam za składnię postu, starałem zaznajomić się z zasadami panującymi na forum, ale jestem początkującym użytkownikiem.