我有一个数据库类,其中包含一个返回新 PDO 的连接函数。
在另一页上,我声明$db = DB::connect();
并进行所有计算。
然后,我在主页上传递了一个名为echo DB::startSession($username);
的函数。
我现在使用 startSession($username) 函数来启动 pdo 并执行查询。尽管每当我使用类似 $connect = self::connect();
的东西时,我都会收到错误,$connect = $this->connect();
所有代码
public static function connect(){
$dsn = 'mysql:dbname=chatsite;host=127.0.0.1';
$user = 'root';
$password = 'root';
try {
$dbh = new PDO($dsn, $user, $password);
return $dbh;
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
}
public static function startSession($username){
//return "user: " . $username;
$active_check = self::connect();
$active_check->prepare("SELECT * FROM users WHERE username='$username'");
$active_check->execute();
return 'test';
这是在另一页上
echo DB::startSession($username);
我得到的错误是未捕获的错误:调用未定义的方法 PDO::execute(),这与第一行未激活 PDO 有关。
$active_check = self::connect();
$stmt = $active_check->prepare("SELECT * FROM users WHERE username='$username'");
$stmt->execute();