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 写入数据库 例子?php
// 以 MySQL 为例:
mysql_connect('127.0.0.1', 'root', 'root', 3306);// 连接数据库
mysql_select_db('test');// 选择数据库
mysql_query('set names utf8');// 执行SQL
// 插入数据语句
$sql = "INSERT INTO table (username, password) VALUES ('Jack@163.com', '123456')";
推荐阅读
- 腾讯直播电脑版安装包,腾讯视频直播电脑版
- postgresql如何列与列字段相加的简单介绍
- 惠普电脑怎么bios设置u盘启动,惠普电脑bios如何设置u盘启动
- 逼真直播背景素材,直播 背景板
- php对数据集合排序 php对数据集合排序的影响
- 安顺网络如何推广汽车,汽车app推广
- 快影适合剪辑什么视频,快影可以剪辑什么格式的视频
- postgresql求两个日期之差,pgsql两个日期差月数
- 电脑怎么添加相片密码,电脑照片怎么加密码锁起来