Добрый день, уважаемые форумчане. Я к вам с вопросом. На данном этапе я изучаю ООП и меня интересует вопрос, каким образом можно подключиться к MySQL с помощью ООП внутри существующего класса. Приведу пример: PHP: class User{ protected $username = 'login'; protected $userpassword = 'password'; protected $userid = '0'; public function check_user($un, $up) { //ПОДКЛЮЧЕНИЕ К БАЗЕ ДАННЫХ // ???? //Код, который проверяет есть ли такой юзер в базе $this->username = $un; $this->userpassword = md5($up); $query = "SELECT id FROM users WHERE username='$this->username' AND password='$this->userpassword'"; $result = $dbc->query($query); if(!$result) { $this->errors .= '$result == false'; return false; } else { $rows=$result->num_rows; return ($rows == 1) ? true : false; } } Интересует конкретно как подключиться к базе данных MySQL в объектно-ориентированном стиле, как здесь: PHP: $dbc= new mysqli($db_hostname, $db_username, $db_password, $db_database); if ($dbc->connect_error) die($connect->connect_error); if (isset($_POST['username']) && isset($_POST['password'])) { $query = "SELECT id FROM users WHERE password='$password'"; $result = $connect->query($query); if (!$result) echo "Ошибка: $query<br>".$connect->error."<br><br>"; } Буду благодарен если объясните максимально доступным языком, и если это возможно, с пруфами(возможно ссылку на документацию, дело в том что я не нашел).
не вижу начальной точки исхода переменной $dbc в классе User --- Добавлено --- думал думал что написать, столько всего... а потом, лень
Там ее и нет, надо как-то встроить код, чтобы заработало. Как это сделать я как раз и не знаю. Можно конечно выполнить в процедурном стиле, но меня интересует именно ООП-стиль
Так реально сделать? Или обязательно надо в процедурном режиме подключаться внутри объекта? Мб есть обходные пути?? Спасибо.
Всем спасибо, тему можно закрыть, нашел как решить данную проблему простым образом. Кому интересно, вот код: PHP: class DB{ private $link; public $errors = ''; public function __construct(){ $this->connect(); } public function connect() { $config = require_once 'config.php'; $this->link = new mysqli($config['hostname'],$config['db_username'],$config['db_password'],$config['db_name']); return $this; }