php mysql_select_db参数2无效

时间:2014-04-21 10:41:44

标签: php mysql-select-db

我有以下代码进行测试,我发现第二个参数实际上并没有工作。

$conn1 = mysql_connect("127.0.0.1", "xxxx", "xxxx");
$conn2 = mysql_connect("127.0.0.1", "xxxx", "xxxx");

mysql_select_db("test", $conn1);
mysql_select_db("yangshengfun", $conn2);

if (!$res = mysql_query("select * from proxy_ips limit 1", $conn1)) {
    echo mysql_error($conn1);
}


if (!$res = mysql_query("select * from wp_posts limit 1", $conn2)) {
    echo mysql_error($conn2);

数据库中的表'测试'和' yangshengfun'完全不同。 运行此代码时出错:

Table 'yangshengfun.proxy_ips' doesn't exist

似乎当我为$ conn2调用mysql_select_db时,它会更改$ conn1的当前数据库,有什么想法吗?

4 个答案:

答案 0 :(得分:3)

试试这个

 $conn1= mysql_connect("host_name", "user_name", "pass_word") or die('not connected'); 
 mysql_select_db("database_name", $conn1);

这里"死($ message)"如果mysql_connect()函数无法与db连接,则函数会打印一条消息。

答案 1 :(得分:2)

试试这个

$conn1 = mysql_connect("127.0.0.1", "xxxx", "xxxx", true);
$conn2 = mysql_connect("127.0.0.1", "xxxx", "xxxx", true);

注意:不推荐使用mysql_*。使用mysqli_*pdo

答案 2 :(得分:2)

改用mysqli:

<?php

    $conn1 = new mysqli(host, user, password, db);

    $conn2 = new mysqli(host2, user2, password2, db2);

?>

答案 3 :(得分:1)

来自PHP Manual

mysql_connect()的文档
  

如果使用相同的参数对mysql_connect()进行第二次调用,   不会建立新链接,而是建立链接标识符   将返回已打开的链接。 new_link参数   修改此行为并使mysql_connect()始终打开一个新的   链接,即使之前使用相同的mysql_connect()调用   参数。在SQL安全模式下,将忽略此参数。


mysql_*)扩展程序自PHP 5.5.0起已弃用,将来会被删除。相反,应使用MySQLiPDO_MySQL扩展名的准备好的语句来抵御SQL注入攻击!