具有PDO功能的类/无法调用类中的另一个功能
问题描述:
我有一个带有连接功能的DB类,它返回一个新的PDO。具有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();
它不是一个重复的那不是我的问题 – D12L12
'$查询= $ active_check->准备( “SELECT * FROM用户其中username = $用户名”“); $查询 - >执行();'? – Rasclatt
[**你的班级将杀死你的数据库服务器。**](https://phpdelusions.net/pdo/common_mistakes) –