thinkphp mysql读写分离_Thinkphp 代码实现主从数据库 读写分离

header('Content-Type: text/html;charset = utf-8 ');

/**

* User: zhanghj

*/

define("DB_HOST_1","192.168.1.73");//请正确对应 IP 地址 用户名 密码 即可...

define("DB_USER_1","momomo");

define("DB_PWD_1","000000");

define("DB_HOST_2","192.168.1.74");

define("DB_USER_2","nonono");

define("DB_PWD_2","000000");

define("DB_DBNAME","minsheng");

define("DB_CHARSET","utf8");

/**

* 思路:根据传入的sql语句,判断是否为查询操作 此处使用 mysql

* @param $sql 执行的SQL语句

* @return resource

*/

function connectTo($sql){

$link = null;

$querystr = trim($sql);

$querystr = substr($querystr,0,6);

if($querystr != 'select')

{

//如果不是查询语句就连接主服务器

$link=@mysql_connect(DB_HOST_1,DB_USER_1,DB_PWD_1)

or die("主库连接失败Error:".mysql_errno().":".mysql_error());

print_r('主库连接成功');

}else{

//如果是查询语句就连接从服务器

$link=@mysql_connect(DB_HOST_2,DB_USER_2,DB_PWD_2)

or die("从库连接失败Error:".mysql_errno().":".mysql_error());

print_r('从库连接成功');

}

mysql_set_charset(DB_CHARSET);//mysql_query('set names utf8');

mysql_select_db(DB_DBNAME) or die("指定数据库打开失败");

return $link;

}

/**

* 完成记录插入的操作

* @param string $table

* @param array $array

* @return number

*/

function insert($table,$array){

$keys=join(",",array_keys($array));

$vals="'".join("','",array_values($array))."'";

$sql="insert {$table}($keys) values({$vals})";

$link = connectTo($sql);

mysql_query($sql);

$Tag_id = mysql_insert_id();

//根据需求 关闭连接

mysql_close($link);

return $Tag_id;

}

function getResultNum($sql){

$link = connectTo($sql);

$result=mysql_query($sql);

$Tag_num = mysql_num_rows($result);

//根据需求 关闭连接

mysql_close($link);

return $Tag_num;

}

/*使用提示:

运行SQL语句前,首先调用connectTo($sql)方法,进行数据库链接的选择

根据自己的项目需求,判断是否断开上述方法返回的连接

*/

//测试:

$data = array(

'user_name' => 'wo¥¥ 的名字',

'email' => '爱谁谁!别关心那么多,好嘛?'

);

echo '我在测试呢!';

$tag =insert('ms_users',$data);

echo $tag;

echo '


';

echo '


';

$res = getResultNum('select * from ms_users');

print_r($res);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值