我对PDO和OOP都很陌生.我正在尝试编写一个连接到数据库的类,并更新插入并修改它.我有几个问题:
在构造函数中连接到数据库是不错的做法?
一个类是应该更新,插入,修改和连接还是应该分成几个类?
为什么runQuery不起作用?我假设它是因为$ pdo在不同的范围内定义.我怎么能这样工作?
如果该类包含在每个页面的顶部,那么这意味着每次加载新页面时它都会重新连接到数据库,这会导致安全问题吗?
为问题的重载道歉.提前感谢您的任何答案.
<?php
class Login{
private $_username;
private $_password;
private $_host;
private $_database;
private $_driver;
//Connect to the database
function __construct($configFile){
$connectionDetails = parse_ini_file($configFile);
$this->_username = $connectionDetails['username'];
$this->_password = $connectionDetails['password'];
$this->_host = $connectionDetails['host'];
$this->_database = $connectionDetails['database'];
$this->_driver = $connectionDetails['driver'];
$pdo = new PDO("$this->_driver:host=$this->_host;dbname=$this->_database", $this->_username, $this->_password);
}
public function loginAllowed($user, $pw){
$sth = $pdo->setFetchMode(PDO::FETCH_ASSOC);
print_r($sth);
}
public function runQuery($query, $params){
$sth = $this->pdo->prepare($query);
$sth->execute($params);
}
}
Run Code Online (Sandbox Code Playgroud)