Вызов неопределенного метода PDO :: execute ()

Я пытаюсь закодировать логин страницы, но я был помехой при этой ошибке

плиз расскажи мне не то, что здесь

<?php @session_start(); include("../../connexion/connexion.php"); class login_class { public $user; public $password; public $connexion; public function check_login() { try { $cn = new class_connect(); $this->connexion = $cn->connect(null); $result = $this->connexion->execute("select * from user where username='$this->user' and password='$this->password'"); $data = $result->fetchAll(PDO::FETCH_OBJ); if (!empty($data[0]->id_user)) { return true; }else { return false; } }catch(PDOException $ex) { echo $ex->getMessage(); } } public function __construct($user) { if($user){ $this->user = $user["username"]; $this->password = $user["password"]; } } } ?> 

->execute() для подготовленных операторов. например

 $stmt = $dbh->prepare('some query here'); $stmt->execute(); 

Вы пытаетесь выполнить запрос непосредственно на основном объекте БД. Для PDO это означает

  $dbh->exec('query goes here'); 

Вы действительно должны заглянуть в подготовленные заявления. Вы уязвимы для атак SQL-инъекций, как есть, и, поскольку вы используете PDO для начала, в основном непростительно НЕ писать безопасные запросы.