php怎么样实例化数据库对象php 连接数据库php多个数据库实例化的几种方式
$con = mysql_connect(服务器,服务器用户名,服务器密码默认为“”)
mysql_select_db(数据库php多个数据库实例化,$con)选择数据库
mysql_query($sql,$con);
$con = mysqli_connect(服务器,服务器用户名,服务器密码默认为“”php多个数据库实例化 , 数据库名)
$query = mysqli_query($conn,$sql);
$conn = new mysqli(服务器,服务器用户名,服务器密码默认为“”php多个数据库实例化 , 数据库名);
$query = $conn-query($sql);
php链接多个数据库实例化两条sql链接.例如 $wdb = mysql_connect('localhost','root','123456','a1');//负责写入的数据库$rdb = mysql_connect('192.168.xx.xx','root','123456','a2');//负责读的数据库这样就可以链接两个数据库了 。
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
【php多个数据库实例化 php建立数据库连接的代码】";
$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实例化多个类给你举个例子吧:
比如说:现在有user.class.php
mysql.class.php
现在用户类有注册、登录等一系列的操作(要使用数据库类)
我们直接在user.class.php 中把数据库类给实力化了
这样就了可以达到你的那个效果了;
千万不要在将所有的方法放在一个类中 , 这样是不好做法,住好是一个类只对于他本身的方法;这样做的目的是让逻辑更加清晰,和降低服务器的资源消耗 。
php多个数据库实例化的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php建立数据库连接的代码、php多个数据库实例化的信息别忘了在本站进行查找喔 。
推荐阅读
- 代理净水器有哪些平台,代理净水器有哪些平台可以卖
- osmo用什么软件拍摄,osmo拍照
- 二分法求根的java代码,java二分法求函数的根
- linux命令怎么上传 linux命令
- redis数据存储,redis数据存储到mysql
- 虚拟电脑主机参数,虚拟电脑主机参数怎么看
- 阿曼即时游戏攻略视频,阿曼时间
- python多维插值函数 多维插值算法
- .java实验报告代码,java实验报告一