[英]Problems connecting to MySQL using PDO
我一直在嘗試將應用程序從使用已貶值的mysql語法轉換為PDO以連接到數據庫並執行查詢,到目前為止,這一直很痛苦。
現在,我有一個類db_functions.php,我在其中嘗試創建與數據庫的PDO連接,並在其中執行所有CRUD操作。
這是代碼示例:
db_functions.php
<?php
class DB_Functions {
private $db;
// constructor
function __construct() {
require_once 'config.php';
// connecting to mysql
try {
$this->$db = new PDO('mysql:host=localhost;dbname=gcm', DB_USER, DB_PASSWORD);
}
catch (PDOException $e) {
$output = 'Unable to connect to database server.' .
$e->getMessage();
exit();
}
}
// destructor
function __destruct() {
}
public function getAllUsers() {
try {
$sql = "select * FROM gcm_users";
//$result = mysql_query("select * FROM gcm_users");
$result = $this->$db->query($sql);
return $result;
}
catch (PDOException $e) {
$error = 'Error getting all users: ' . $e->getMessage();
}
}
使用該代碼,我得到以下錯誤:
Notice: Undefined variable: db in C:\xampp\htdocs\gcm\db_functions.php on line 12
Fatal error: Cannot access empty property in C:\xampp\htdocs\gcm\db_functions.php on line 12
第12行是:
$this->$db = new PDO('mysql:host=localhost;dbname=gcm', DB_USER, DB_PASSWORD);
我該如何解決這個問題,以便擁有與數據庫的PDO
連接的正確實例,可用於在db_functions
中的其他方法getAllUsers()
如getAllUsers()
創建查詢
我使用了如何創建具有依賴項注入和接口的連接類的答案? 無濟於事。
//$this->$db =
$this->db =
同樣在這里
//$this->$db->query($sql);
$this->db->query($sql);
而且我也將使用127.0.0.1
而不是localhost
來提高性能,否則進行連接將花費很長時間...僅幾秒鍾即可進行連接...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.