这篇文章主要介绍了PHP同时连接多个mysql数据库的具体实现,需要的朋友可以参考下
实例:
代码如下:
<php
$conn1
=
mysql_connect("127001",
"root","root","db1");
mysql_select_db("db1",
$conn1);
$conn2
=
mysql_connect("127001",
"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("127001",
"root","root","db1");
mysql_select_db("Muma",
$conn1);
$conn2
=
mysql_connect("127001",
"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("127001",
"root","root","db1");
mysql_select_db("db1",
$conn1);
$conn2
=
mysql_connect("127001",
"root","root","db2");
mysql_select_db("db2",
$conn2);
$sql
=
"select
from
db1ip";
//关联数据库
$query
=
mysql_query($sql);
if($row
=
mysql_fetch_array($query))
echo
$row[0]"n";
$sql
=
"select
from
db2web
";
$query
=
mysql_query($sql);
if($row
=
mysql_fetch_array($query))
echo
$row[0];
>
首先我是新手, 看到这个问题试了下, 不知道能不能帮助你!希望~
还有很多条件没有判断, 我正则不是很会。 写的很粗糙,勉强能用, 希望别介意哈!
<php
class Database {
public $conn;
public function Database() {
$this->conn = mysql_connect("localhost","user","password");
mysql_select_db("gamesearch",$this->conn);
mysql_query("SET NAMES 'UTF8'");
}
public function get_data_array($sql) {
$rs = mysql_query($sql,$this->conn);
$data_array = array();
while($data = mysql_fetch_array($rs,MYSQL_ASSOC)) {
$data_array[] = $data;
}
mysql_free_result($rs);
return $data_array;
}
}
$db = new Database();
if($_GET['year'] == "") {
echo "请输入年份!";
}else {
if($_GET['year'] == "all") {
$sql = "select GameName from GameSearch";
}else {
$sql = "select GameName from GameSearch where ReleaseYear = "$_GET['year'];
}
$data = $db->get_data_array($sql);
foreach($data as $k=>$v) {
echo $v['GameName']"<br />";
}
}
>
<form action="testphp" method="get">
年份:<input type="text" name="year" value="all" />
<input type="submit" value="提交" />
</form>
php链接mysql必备条件:已安装mysql数据库;
检查php环境是否已开启mysql扩展(一般情况下是开启的);
检查方法:a使用phpinfo();函数,看有没有mysql项;b打开phpini文件,检查php_mysqldll前分号是否已取掉。
php链接代码如下:
运行结果:
以上就是关于PHP同时连接多个mysql数据库示例代码全部的内容,包括:PHP同时连接多个mysql数据库示例代码、求高人给一个用PHP+MySQL实现的简单的数据库查询功能的PHP和HTML代码、如何在PHP中连接MySQL数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)