Ejemplo n.º 1
0
$dbconfig = ['hostname' => ['127.0.0.1', '127.0.0.1', '127.0.0.1', '127.0.0.1'], 'database' => ['xiang_user', 'xiang_user_slave', 'xiang_user_slave2', 'xiang_user_slave3'], 'username' => ['root'], 'password' => ['root'], 'hostport' => ['3306'], 'charset' => ['utf8'], 'is_disperse' => true, 'rw_separate' => true, 'master_num' => 2];
//数据库配置
//设置默认数据库
\sower\Loader::setdb($dbconfig);
//一些例子
////查询将返回查询的数组数据
////如果SQL语句内包含 LIMIT 0,1  查询返回的数据将转为一维数组
////插入将会返回插入数据的ID
////更新将会返回影响的行数
//查询	查询用户等于1的数据
//第一步构建SQL
$sql = \sower\Loader::table('xiang_test')->query();
var_dump($sql);
//第二步执行SQL
//$data = $sower->database($dbconfig); //切换数据库(可以是分布式数据库配置),如果不传入$dbconfig 则使用实例化sower时传入的数据库配置
//$sql : 要执行的SQL语句
//$dbconfig: 选择的数据库配置,用户切换数据库,如果不传则使用实例化的默认数据库
$db = \sower\Loader::database();
//sower支持数据库重连
//是否 数据库对象超时失效 重新连接[默认true]
$db->isReconnect = true;
//是否 数据库连接失败尝试 重新连接[默认true]
$db->isAReconnect = true;
//数据库拒绝连接(2002错误)持续尝试连接[默认尝试重新连接间隔为180秒,设置为0不尝试重连,非CLI模式下无效]
$db->{$RCSleepTime} = 180;
//$db读写是分离的方法
//查询:$db->read($sql);
//插入或更新或者删除:$db->write($sql);
//查询
$result = $db->read($sql);
var_dump($result);