没有连接mysql

时间:2015-04-09 12:04:17

标签: php mysql database connection database-connection

我在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连接字符串之一不起作用。为什么呢?

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。

参考:http://php.net/manual/en/function.mysql-connect.php