我在2个文件中有2个连接字符串connect.php连接到2个服务器上的2个mysql数据库。
文件dbconnect1:
<?php
$conn = mysql_connect('sv1','root','123456') or dir("No connect");
mysql_select_db('db1')or dir("not connect database");
mysql_query("SET charactor_set_results=utf8",$conn);
mysql_query("SET NAMES 'utf8'");
?>
文件dbconnect2:
<?php
$conn = mysql_connect('sv1','root','123456') or dir("No connect");
mysql_select_db('db2')or dir("not connect database");
mysql_query("SET charactor_set_results=utf8",$conn);
mysql_query("SET NAMES 'utf8'");
?>
当我在文件中包含php和exercute查询时,它不会显示结果。 2连接字符串之一不起作用。为什么呢?
答案 0 :(得分:0)
我认为这是因为你为两个数据库连接使用相同的变量$ conn。例如,在dbconnect2.php文件中将其替换为$ conn2。此时您的第一个连接被第二个连接覆盖。这是因为你一个接一个地做。
另外,您必须在mysql_connect()函数中为第四个参数设置TRUE才能启动到同一个DB服务器的新连接。 http://php.net/manual/en/function.mysql-connect.php
文件dbconnect2:
<?php
$conn2 = mysql_connect('sv1','root','123456', TRUE) or die("No connect");
mysql_select_db('db2', $conn2)or die("not connect database");
mysql_query("SET charactor_set_results=utf8", $conn2);
mysql_query("SET NAMES 'utf8'", $conn2);
?>
另外,您必须指出要在mysql_select_db()函数和mysql_query()函数中使用哪个MySQL连接。
答案 1 :(得分:0)
您必须更改第二个数据库连接变量,例如$ conn2,并使用连接语句,如下所示:
$conn2 = mysql_connect('sv1','root','123456', TRUE) or die("No connect");
第4个参数必须传递为TRUE。