colaphp/db 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

colaphp/db

最新稳定版本:1.0.4

Composer 安装命令:

composer require colaphp/db

包简介

README 文档

README

配置部分,单独配置或读写分离配置

$config = [
	'driver'    => 'mysql',
	'host'      => '192.168.0.1',
	'database'  => 'test',
	'username'  => 'root',
	'password'  => 'root',
	'charset'   => 'utf8',
	'collation' => 'utf8_unicode_ci',
	'prefix'    => '',
];

$config2 = [
	'driver'    => 'mysql',
	'write'=>[
        'host'      => '192.168.0.1',
        'database'  => 'test',
        'username'  => 'root',
        'password'  => 'root',
	],
	'read'=>[
        'host'      => '192.168.0.2',
        'database'  => 'test',
        'username'  => 'root',
        'password'  => 'root',
	],
	'charset'   => 'utf8',
	'collation' => 'utf8_unicode_ci',
	'prefix'    => '',
];

创建对象

    // 直接调用
	$dbFactory = new  \Colaphp\Db\Connectors\ConnectionFactory();
	$db = $dbFactory->make($config,'MYSQL');
    // 助手函数调用
	$db = getPDO('default.mysql',$config);

调试日志

	//开启日志
	$db->enableQueryLog();
	//获取日志
	$db->getQueryLog();

增删改查

	//查找一条记录
	$db->selectOne("select * from member where mobile = ?",['19812345678']);
	$db->selectOne("select * from member where mobile = :mobile",[':mobile'=>'19812345678']);
	//查找多条记录
	$db->select("select * from member where mobile = ?",['19812345678']);
	//插入
	$db->insert(
		"insert into member (`username`,`mobile`,`created_at`,`updated_at`) values (?, ?, NOW(), NOW());",
		['wang3','19812345678']
	);
	//修改
	$db->update(
		"update member set `created_at` = :created_at where id = :id",
		[ ':created_at' => date('Y-m-d H:i:s'), ':id'=>12 ]
	);
	//删除
	$db->delete("delete from member where id = ?", [16]);
	//exec操作
	$db->unprepared("delete from member where id = 17");

事务操作

	//常规事务操作
	try{
		$db->beginTransaction();
		//事务数
		var_dump($db->transactionLevel());
		$db->update(
			"update member set `created_at` = :created_at where id = :id",
			[ ':created_at' => date('Y-m-d H:i:s'), ':id'=>13 ]
		);
		$db->insert(
			"insert into member (`username`,`mobile`,`created_at`,`updated_at`) values (?, ?, NOW(), NOW());",
			['wang','19812345678']
		);
		$db->commit();
	}catch(Exception $e){
		$db->rollBack();
		var_dump( $e->getMessage() );
	}

	// Closure事务
	$result = $db->transaction(function($me){
		$r1 = $me->update(
			"update member set `created_at` = :created_at where id = :id",
			[ ':created_at' => date('Y-m-d H:i:s'), ':id'=>13 ]
		);
		$r2 = $me->insert(
			"insert into member (`username`,`mobile`,`created_at`,`updated_at`) values (?, ?, NOW(), NOW());",
			['wang4','19812345678']
		);
		return $r1 .'~'. $r2;
	});

统计信息

  • 总下载量: 46
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-07-30