1

我有以下代码进行测试,我刚刚发现第二个参数实际上不起作用。

$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);

数据库“test”和“yangshengfun”中的表完全不同。运行此代码时发生错误:

Table 'yangshengfun.proxy_ips' doesn't exist

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

4

4 回答 4

2

尝试这个

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

如果 mysql_connect() 函数无法与 db 连接,“die($message)”函数会在此处打印一条消息。

于 2014-04-21T11:09:07.943 回答
2

改用 mysqli:

<?php

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

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

?>
于 2014-04-21T10:47:23.320 回答
2

尝试这个

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

注意:mysql_*已弃用。使用mysqli_*pdo

于 2014-04-21T10:46:46.043 回答
1

来自PHP 手册mysql_connect()的文档

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


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

于 2014-04-21T10:45:34.873 回答