同步操作将从 vb2005xu/sql.class.php 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<?php# 本文件是依据wenjun童鞋希望有个代码层的主从支持,所提供的雏形...# 通常情况下 我们使用主从的目的是进行 "读写分离"# 那此处也不出意外是根据此方向来定义 "主写从读"/*** 简易的 主从 实现*/class SqlMS{/*** 主库数据源* @var SqlDataSource*/private static $ds_master;/*** 从库数据源* @var SqlDataSource*/private static $ds_slaver;static function init(array $config){self::$ds_master = Sql::ds($config['master']);self::$ds_slaver = Sql::ds($config['slaver']);}static function master(){static $master = null;if (is_null($master)) $master = new SqlMaster(self::$ds_master);return $master;}static function slaver(){static $slaver = null;if (is_null($slaver)) $slaver = new SqlSlaver(self::$ds_slaver);return $slaver;}}class SqlMaster{function __construct(SqlDataSource $ds){$this->ds = $ds;}## 自己封装一些 读操作/*** 从表中检索符合条件的一条记录** @param string $table* @param mixed $cond* @param string $fields* @param string $sort** @return array*/function select_row($table, $cond=null, $fields='*', $sort=null){return Sql::assistant( $this->ds )->select_row($table, $cond, $fields, $sort);}/*** 从表中检索符合条件的多条记录** @param string $table* @param mixed $cond* @param string $fields* @param string $sort* @param int|array $limit 数组的话遵循格式 ( offset,length )* @param bool $calc 计算总个数** @return array*/function select($table, $cond=null, $fields='*', $sort=null, $limit=null, $calc=false){return Sql::assistant( $this->ds )->select($table, $cond, $fields, $sort, $limit, $calc);}/*** 统计符合条件的记录的总数** @param string $table* @param mixed $cond* @param string|array $fields* @param boolean $distinct** @return int*/function count($table, $cond=null, $fields='*', $distinct=false){return Sql::assistant( $this->ds )->count($table, $cond, $fields, $distinct);}/*** 执行 读 操作** @param string $mode 模式 [MODE_READ_GETALL,MODE_READ_GETROW,MODE_READ_GETONE,MODE_READ_GETCOL]* @param mixed $args 参数[不同模式参数不同,缺省为sql字符串]* @param callback $cb 查询记录集的回调处理函数** @return mixed*/function custom($mode, $args, $cb=NULL){return Sql::read( $this->ds, $mode, $args, $cb)}}class SqlSlaver{function __construct(SqlDataSource $ds){$this->ds = $ds;}## 自己封装一些 写操作/*** 插入一条记录** @param string $table* @param array $row* @param bool $pkval 是否获取插入的主键值** @return mixed*/function insert($table, array $row, $pkval=false){return Sql::assistant( $this->ds )->insert($table, $row, $pkval);}/*** 更新表中记录** @param string $table* @param array $row* @param mixed $cond 条件** @return int*/function update($table, array $row, $cond=null){return Sql::assistant( $this->ds )->update($table, $row, $cond);}/*** 删除 表中记录** @param string $table* @param mixed $cond** @return int*/function del($table, $cond=null){return Sql::assistant( $this->ds )->del($table, $cond);}/*** 向表中 某字段的值做 "加"运算** @param string $table* @param string $field* @param int $incr* @param mixed $cond** @return int*/function incr_field($table, $field, $incr = 1, $cond=null){return Sql::assistant( $this->ds )->incr_field($table, $field, $incr, $cond);}/*** 执行 更新/删除 操作** @param string $mode 模式 [MODE_WRITE_INSERT,MODE_WRITE_UPDATE,MODE_WRITE_DELETE]* @param mixed $args 参数[不同模式参数不同,缺省为sql字符串]* @param callback $cb 查询结果集的回调处理函数** @return mixed*/function custom($mode, $args, $cb=NULL){return Sql::write( $this->ds, $mode, $args, $cb)}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。