Php 如何调试我的PDO数据库类?
在远离PHP编码10年后,我重新开始学习教程。我发现事情已经改变了,PDO是连接MySQL的新标准 我设立了一些小项目。我正在尝试建立自己的类数据库,但事情变得很复杂,我不知道为什么 下面是我的数据库类:Php 如何调试我的PDO数据库类?,php,oop,pdo,Php,Oop,Pdo,在远离PHP编码10年后,我重新开始学习教程。我发现事情已经改变了,PDO是连接MySQL的新标准 我设立了一些小项目。我正在尝试建立自己的类数据库,但事情变得很复杂,我不知道为什么 下面是我的数据库类: <?PHP $Db = new database; class database { ///////////// //Attributs// ///////////// private $db
<?PHP
$Db = new database;
class database
{
/////////////
//Attributs//
/////////////
private $db_host;
private $db_user;
private $db_pass;
private $db_name;
private $bdd;
/////////////////////
// internal process//
/////////////////////
private function activateDB()
{
$this->checkList();
$this->dbInitilisation();
$this->dbConnection();
}
////////////////////////
//Check Websiteconfig//
////////////////////////
private function checkList()
{
if(!file_exists('website-config.ini')){
die('missing configuration file.');
}
}
///////////
//Db init//
///////////
private function dbInitilisation()
{
// Load config file for database connection info
$config = parse_ini_file("website-config.ini");
$this->db_host=$config['db_host'];
$this->db_user=$config['db_login'];
$this->db_pass=$config['db_password'];
$this->db_name=$config['db_name'];
}
/////////////////
//Db connection//
/////////////////
private function dbConnection()
{
try
{
$this->bdd = new PDO('mysql:host='.$this->db_host.';dbname='.$this->db_name.';charset=utf8', 'root', '');
$this->bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (Exception $e)
{
die('error '.$e);
}
}
public function dbQuery($user_query, $parameters)
{
$this->activateDB();
$query = $this->bdd->prepare($user_query);
$query->execute($parameters);
$query->fetch();
return $query;
}
}
?>
当我没有使用pdo,并且像正常一样编写我的函数时,我得到了我想要的。现在,不再是了
有人知道我做错了什么吗?你对如何提高我的整体素质有何评论
PS:在来这里之前,我确实读了很多书(比如这里:(我认为我的问题可能是fetch的类型,但是,当不是在OOP中时,我的代码运行正常。)或者在这里,但这里给出的解决方案是继续使用其他人的代码库,不允许理解我到底做错了什么。我有。给你:为什么你说你做错了什么-你有错误吗?是否有无声的失败?是的,失败是明显的-你试图抽象抽象-ra相信一个好主意。但我们都犯了那个错误:-)你的大方向是正确的。但执行情况并不是那么好。参考问题顶部链接的两个答案,以获得好的示例
$values[':user_id']='1';
$result=($Db->dbQuery('SELECT user_username FROM user WHERE user_id = :user_id',$values));
print_r($result);