-1
我有一個帶有連接功能的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未在第一行中激活有關。
它不是一個重複的那不是我的問題 – D12L12
'$查詢= $ active_check->準備( 「SELECT * FROM用戶其中username = $用戶名」「); $查詢 - >執行();'? – Rasclatt
[**你的班級將殺死你的數據庫服務器。**](https://phpdelusions.net/pdo/common_mistakes) –