我正在尝试设置 PDO 连接来替换我的标准 mysql 连接。到目前为止,我有一个名为 DB_Class 的类,它的构造函数中有典型的 mysql_connect、mysql_select_db... 的东西。
我通过在每个将命中数据库的对象的构造函数中创建一个新的 DB_Class 实例来使用它。我在某处在线获得了示例,它似乎有效。
现在我想切换到 PDO,我在这里尝试相同的逻辑,但它没有像我希望的那样工作。这就是我所拥有的。
class DB_Class {
function __construct() {
//$connection = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD) or
// die('Oops connection error -> ' . mysql_error());
//mysql_select_db(DB_DATABASE, $connection) or die('Database error -> ' . mysql_error());
$dbConnString = "mysql:host=" . DB_SERVER . ";port=".DB_PORT." dbname=" . DB_DATABASE;
$dbConnection = new PDO($dbConnString, DB_USERNAME, DB_PASSWORD);
//$dbConnection = new PDO('mysql:dbname='.DB_DATABASE.';host='.DB_SERVER.';charset=utf8', DB_USERNAME, DB_PASSWORD);
$dbConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
}
这是我的客户类的构造函数
//Initialize the DB Class
public function __construct() {
$db = new DB_Class();
}
这是我不太确定如何使用它的地方?
public function FindByOwnerID($id) {
$clients = array();
$stmt = $db->prepare("SELECT * FROM Client WHERE OwnerID = :id");
$stmt->execute(array(':id' => $id));