Appel à la méthode non PDO::execute()

je suis en train de coder une page de connexion, mais j'ai été bouchon à cette erreur

pliz me dire la mauvaise chose ici

<?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() est une méthode de PDOStatement pas PDO. La façon dont vous utilisez PDO ici est un peu confus.
  • pliz u peut me donner la bonne syntaxe
  • Vous pensez probablement de PDO::exec() bien que ce n'est pas appropriée pour votre requête. Vous devez utiliser PDO::query() lors d'une SELECT déclaration. En outre, vous disposez d'injection SQL problèmes avec votre code. Vous devriez prendre le temps de lire sur le PDO de déclarations préparées à l'avance.
InformationsquelleAutor user3531649 | 2014-04-29