php连接多个关联数据库,php建立数据库连接的代码

PHP中如何连接多个数据库,同时操作两个以上

$conn1=mysql_connect('...','...','...'); //将第一个数据库连接资源保存到变量conn1中

目前创新互联已为上1000家的企业提供了网站建设、域名、虚拟空间、网站托管、服务器托管、企业网站设计、迎泽网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

$conn2=mysql_connect('...','...','...'); //将第二个数据库连接资源保存到变量conn2中

然后在执行查询操作时,指定使用哪个连接资源,如:mysql_query('select ....',$conn1);

希望可以帮到你,谢谢!

thinkphp如何连接多个数据库

1、onfig.php文件

'LOAD_EXT_CONFIG'

='db,db_config',

//

加载扩展

配置文件

。多个文件用逗号分隔

//其中db.php中放置的是mysql的配置

//db_config放置的是

sqlserver

的配置

2、其中db.php内容如下

return

array(

'DB_TYPE'='mysql',

'DB_HOST'='

localhost

',

'DB_NAME'='your_mysql_dbname',

'DB_USER'='your_mysql_user_name',

'DB_PWD'='123456',

'DB_PORT'='3306',

'DB_PREFIX'='',

);

db_config.php内容如下

return

array(

'DB_CONFIG1'

=

array(

'db_type'

=

'pdo',

'db_user'

=

'XX',

'db_pwd'

=

'XXXXXXXX',

'DB_DSN'

=

'sqlsrv:Server=XXXXXX;Database=XXXX',

),

);

3、在Lib/Model下新建一个专门的模型

class

SqlsrvModel

extends

Model

{

protected

$

connection

=

'DB_CONFIG1';

}

4、可以在Action

中调

各个模型了

php手把手教你做网站(二十九)thinkphp6部署多个数据库

前边介绍了负载均衡,mysql同步,接下来介绍tp6分布式部署多个数据库,实现读写分离。

tp6的分布式部署读和写仍然是一个系统,这里我们分开操作,给用户展示的就是从数据库,后端添加文章就是主库,然后同步到从库。

1、配置数据库链接参数

目标:实现随机使用数据库展示信息,只是读操作。

测试:前台可以读取表中内容(存放的不一致),查看是否是随机显示的。

打开.env文件进行编辑

说明:

2、编辑database.php

找到deploy设置为1分布式部署,下边不要改,都是读,写入的也就是后端的我们单独建站连接主库。

配置完成,tp6使用的是mt_rand取随机数判断使用哪个数据库。

3、数据库交互写操作

比如浏览量没必要每次都去更新数据库,可以先使用redis缓存,存够1000的整数倍,再去更新数据库。

4、后台独立,也就是写

可以前后端分离,单独做一个网站(没有前端)使用ip访问或者独立的域名连接后台。

5、上传附件(jquery ajax跨域上传)

使用了nginx负载均衡,肯定是多个一样的网站,如果图片存放到一个站,别的就不能访问了,可以单独设置一个附件(压缩包,图片等)服务器,可以使用二级域名连接,这就要求我们上传附件的时候,是上传到附件服务器。

jqueryURL

API控制器apdpic方法

说明:

也可以先传到后台服务器然后使用(php)ftp上传,或者是通过curl上传到附件服务器,感觉那样毕竟麻烦,直接设置跨域会比较简单。

也测试了使用jsonp跨域,但是不能上传附件。

6、thinkphp6实现读写分离(在一个站点)

我个人是不喜欢这样的,负载均衡应该是均衡地读,也就是前台单独一个站点,后端的写是另一个独立的站点,看个人喜好吧。

独立后台的优点:可以提升安全性,因为我们的后台网址是不公开的,避免用户猜测一些后台的信息。

.env配置按照1所述编辑,默认第一个是主库。

database.php

愿大家在新的一年心想事成,万事如意!!!

PHP同时连接多个mysql数据库示例代码

这篇文章主要介绍了PHP同时连接多个mysql数据库的具体实现,需要的朋友可以参考下

实例:

代码如下:

?php

$conn1

=

mysql_connect("127.0.0.1",

"root","root","db1");

mysql_select_db("db1",

$conn1);

$conn2

=

mysql_connect("127.0.0.1",

"root","root","db2");

mysql_select_db("db2",

$conn2);

$sql

=

"select

*

from

ip";

$query

=

mysql_query($sql);

if($row

=

mysql_fetch_array($query))

echo

$row[0]."n";

$sql

=

"select

*

from

web

";

$query

=

mysql_query($sql);

if($row

=

mysql_fetch_array($query))

echo

$row[0];

?

这段代码存在问题,在程序执行时会报错:PHP

Warning:

mysql_fetch_array()

expects

parameter

1

to

be

resource,

boolean

given

in

....

原因分析:

程序开始建立两个数据库链接,函数mysql_query()原型:

resource

mysql_query

(

string

$query

[,

resource

$link_identifier

]

)

向与指定的连接标识符关联的服务器中的当前活动数据库发送一条查询。如果没有指定

link_identifier,则使用上一个打开的连接。如果没有打开的连接,本函数会尝试无参数调用

mysql_connect()

函数来建立一个连接并使用之。查询结果会被缓存。

在本例中由于没有指定link_identifier,所以,在执行第一条sql时,默认使用的是上一个打开的链接,即$conn2,而实际上第一条sql语句应该使用的是$conn1,所以导致报错,所以为了能够链接多个mysql数据库,可以使用如下方法:

方法1:在mysql_query函数中指定所用连接,即:

代码如下:

?php

$conn1

=

mysql_connect("127.0.0.1",

"root","root","db1");

mysql_select_db("Muma",

$conn1);

$conn2

=

mysql_connect("127.0.0.1",

"root","root","db2");

mysql_select_db("product",

$conn2);

$sql

=

"select

*

from

ip";

$query

=

mysql_query($sql,$conn1);

//添加连接$conn1

if($row

=

mysql_fetch_array($query))

echo

$row[0]."n";

$sql

=

"select

*

from

web

";

$query

=

mysql_query($sql,

$conn2);

if($row

=

mysql_fetch_array($query))

echo

$row[0];

?

方法2:在sql语句中关联所用数据库,此时可以省略mysql_query的第二个参数,即:

代码如下:

?php

$conn1

=

mysql_connect("127.0.0.1",

"root","root","db1");

mysql_select_db("db1",

$conn1);

$conn2

=

mysql_connect("127.0.0.1",

"root","root","db2");

mysql_select_db("db2",

$conn2);

$sql

=

"select

*

from

db1.ip";

//关联数据库

$query

=

mysql_query($sql);

if($row

=

mysql_fetch_array($query))

echo

$row[0]."n";

$sql

=

"select

*

from

db2.web

";

$query

=

mysql_query($sql);

if($row

=

mysql_fetch_array($query))

echo

$row[0];

?

php链接多个数据库

实例化两条sql链接.例如 $wdb = mysql_connect('localhost','root','123456','a1');//负责写入的数据库$rdb = mysql_connect('192.168.xx.xx','root','123456','a2');//负责读的数据库这样就可以链接两个数据库了。


分享名称:php连接多个关联数据库,php建立数据库连接的代码
网页路径:http://azwzsj.com/article/dssgjdg.html