php链接数据库
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php链接数据库,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2359字,纯文字阅读大概需要4分钟。
内容图文
/**
* 连接数据库。
*
* @param string $dbOption 数据库配置项。
* @return void
*/
final public function connection($dbOption = '')
{
if (strlen($dbOption) > 0) {
$this->dbOption = $dbOption;
}
$registryName = "mysql_{$this->dbOption}";
// [1] 传统初始化MySQL方式。
$config = App::getDbConfig();
if (!isset($config[$dbOption])) {
throw new DbException("MySQL 配置:{$dbOption} 未设置");
}
$config = $config[$dbOption];
$host = $config['host'];
$port = $config['port'];
$username = $config['user'];
$password = $config['pwd'];
$charset = $config['charset'];
$dbname = $config['dbname'];
$pconnect = $config['pconnect'];
$dsn = "mysql:dbname={$dbname};host={$host};port={$port}";
$dbh = new \PDO($dsn, $username, $password, [\PDO::ATTR_PERSISTENT => $pconnect]);
// MySQL操作出错,抛出异常。
$dbh->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
$dbh->setAttribute(\PDO::ATTR_ORACLE_NULLS, \PDO::NULL_NATURAL);
$dbh->setAttribute(\PDO::ATTR_STRINGIFY_FETCHES, FALSE);
$dbh->setAttribute(\PDO::ATTR_EMULATE_PREPARES, FALSE);
// 以关联数组返回查询结果。
$dbh->setAttribute(\PDO::ATTR_DEFAULT_FETCH_MODE, \PDO::FETCH_ASSOC);
$dbh->query("SET NAMES {$charset}");
self::$connectedIdent[$registryName] = $dbOption; // 之所以以连接标识做键,是避免多次连接导致持续的增加。
Registry::set($registryName, $dbh);
}
配置如下
; MySQL 配置
mysql.default.host = 127.0.0.1
mysql.default.port = 3306
mysql.default.user = xxx
mysql.default.pwd = xxx
mysql.default.dbname = xxx
mysql.default.charset = utf8
mysql.default.pconnect = false
/**
* 构造方法。
*
* @param string $dbOption 数据库配置项。
* @return void
*/
public function __construct($dbOption = '')
{
if (strlen($dbOption) > 0) {
$this->dbOption = $dbOption;
$this->changeDb($this->dbOption);
}
}
/**
* 切换数据库连接。
*
* @param string $dbOption 数据库配置项。
* @return void
*/
final public function changeDb($dbOption)
{
$registryName = "mysql_{$dbOption}";
if (Registry::has($registryName) === false) {
$this->connection($dbOption);
}
$this->dbConnection = Registry::get($registryName);
}
初始化的时候,自动连接数据库。
然后就可以进行各种操作了。
php链接数据库
标签:连接数 username throw 结果 mysql操作 传统 数据库连接 异常 ==
本文系统来源:https://www.cnblogs.com/jiqing9006/p/12145641.html
内容总结
以上是互联网集市为您收集整理的php链接数据库全部内容,希望文章能够帮你解决php链接数据库所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。