加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

PHP用PDO如何封装简单易用的DB类详解

发布时间:2021-02-26 06:30:54 所属栏目:编程 来源:网络整理
导读:媒介 PDO扩展为PHP会见数据库界说了一个轻量级的、同等性的接口,它提供了一个数据会见抽象层,这样,无论行使什么数据库,都可以通过同等的函数执行查询和获取数据。PDO随PHP5.1刊行,在PHP5.0的PECL扩展中也可以行使。 我小我私人领略:PDO是一个抽象类,为我

public function insert($table,$parameters=[])
{
$table = $this->format_table_name($table);
$sql = "INSERT INTO $table";
$fields = [];
$placeholder = [];
foreach ( $parameters as $field=>$value){
$placeholder[] = ':'.$field;
$fields[] = ''.$field.'';
}
$sql .= '('.implode(",",$fields).') VALUES ('.implode(",$placeholder).')';

$this->lastSQL = $sql;
$this->sth = $this->dbh->prepare($sql);
$this->watchException($this->sth->execute($parameters));
$id = $this->dbh->lastInsertId();
if(empty($id)) {
return $this->sth->rowCount();
} else {
return $id;
}
}

public function errorInfo()
{
return $this->sth->errorInfo();
}

protected function format_table_name($table)
{
$parts = explode(".",$table,2);

if(count($parts) > 1) {
$table = $parts[0].".{$parts[1]}";
} else {
$table = "$table";
}
return $table;
}

function errorCode()
{
return $this->sth->errorCode();
}
}

class MySQLException extends Exception { }

框架中行使提议

在框架中行使DB类,用单例模式可能用依靠容器来打点较好。

总结

以上就是这篇文章的所有内容了,但愿本文的内容对各人的进修可能事变能带来必然的辅佐,假若有疑问各人可以留言交换,感谢各人对编程之家的支持

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读