我正在尝试编写一个登录页面,但在此错误处停顿:
请告诉我这里有什么问题。
请告诉我这里有什么问题。
<?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()
是PDOStatement
的一个方法,而不是PDO
的。你在这里使用 PDO 的方式有点混淆了。 - Darragh EnrightPDO::exec()
,但这也不适用于你的查询。在执行 SELECT 语句时,应该使用PDO::query()
。此外,你的代码存在 SQL 注入问题。你应该花时间了解一下 PDO 的预处理语句。 - Darragh Enright