Tôi khá mới với PDO và OOP với PHP nói chung vì vậy hãy làm tốt :) Về cơ bản tôi đang cố gắng tạo một đối tượng kết nối dựa trên PDO để tôi có thể có một kết nối mà tôi gọi trong toàn bộ trang web của mình.Cách tốt nhất để tạo lớp kết nối tĩnh mysql PDO?
Tôi cần một số câu lệnh đã chuẩn bị, chỉ cần tra cứu các kết quả khác nhau dựa trên ID mà tôi chuyển qua sử dụng cùng một đối tượng db mà tôi đang cố gắng tạo bên dưới.
Làm cách nào để tạo và truy cập lớp db tôi đã đặt bên dưới và sau đó sử dụng các hàm bên trong để trích xuất thông tin có liên quan mà tôi cần? Bất kỳ ví dụ nào cũng tuyệt vời để tôi có thể có ý tưởng về các phương pháp hay nhất, v.v.
Rất cám ơn trước.
class db {
private static $connection;
private function __construct(){}
private function __clone(){}
private static function connect($db_server="localhost", $db_user="user", $db_pass="password") {
if(!$this->connection){
try{
$this->connection = new PDO($db_server, $db_user, $db_pass);
} catch (PDOException $e) {
$this->connection = null;
die($e->getMessage());
}
}
return $this->connection;
}
}
$dbh = new db::connect();
$stmt = $dbh->prepare("SELECT * FROM questions where id = ?");
if($stmt->execute(array($_REQUEST['testid']))) {
while ($row = $stmt->fetch()) {
print_r($row);
}
}
các pseudo-biến $ this không có sẵn bên trong các phương thức tĩnh và cho các thuộc tính tĩnh. Bạn nên sử dụng self :: $ property. Nếu không, nó sẽ nói thuộc tính db :: thuộc tính không được định nghĩa – jscripter
@BubuDaba không chỉnh sửa mã không đúng trong câu hỏi vì nó có thể làm cho các asnwers khác không liên quan. Nếu bạn có một gợi ý cho OP, sau đó viết câu trả lời hoặc nhận xét –