假设在127.0.0.1上有test1和test2两个库, 其中库test1库中有test1表,test2中有test2表
$username = "root";
$password = "root";
$conn1 = mysql_connect($servername, $username, $password);
mysql_select_db('test1', $conn1);
$conn2 = mysql_connect($servername, $username, $password);
mysql_select_db('test2', $conn2);
//这一句会报错:Table 'test2.test1' doesn't exist,因为$conn2的连接参数与$conn1相同,所以$conn2并没有打开新连接,而是返回$conn1,所以执行下面这一句代码的时候,数据库已经被切换到test2。如果不想报错,可将上面第二句代码改为$conn2 = mysql_connect($servername, $username, $password,true);
$dt = mysql_query('select * from test1', $conn1);
if(false==$dt)
{
echo mysql_error($conn1);
}
while ($row = mysql_fetch_assoc($dt)) {
echo var_dump($row);
}
将下面代码保存为http://localhost/mysql.php,然后访问此页面,在页面结束之前使用Navicat服务器监控localhost的数据库连接
$username = "root";
$password = "root";
$conn1 = mysql_connect($servername, $username, $password);
$conn2 = mysql_connect($servername, $username, $password);
sleep(10);
发现进程列表中只有一个连接,
如果将第5行代码改为$conn2 = mysql_connect($servername, $username, $password,true);访问页面,发现进程列表中有2个连接
如果将第5行代码改为$conn1 = mysql_connect($servername, $username, $password,true);访问页面,发现进程列表中只有1个连接(对一个资源变量赋值一个新的资源ID,会自动释放上一个资源?)