Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 调用两次后mysql\u connect的行为_Php_Mysql_Mysql Connect - Fatal编程技术网

Php 调用两次后mysql\u connect的行为

Php 调用两次后mysql\u connect的行为,php,mysql,mysql-connect,Php,Mysql,Mysql Connect,PHP+MySQL,调用MySQL\u connect两次会发生什么情况,如: $link = mysql_connect($server, $user, $pass); $link = mysql_connect($server, $user, $pass); PHP似乎没有产生任何通知。是否忽略第二行或建立新连接(如果是,是否自动关闭上一个连接) 我知道,这些情况本来就不应该发生。我知道这是个老问题,但我自己也在想同样的事情。 所以我做了一个测试,看看php是否真的会忽略一个连接,或者打开

PHP+MySQL,调用MySQL\u connect两次会发生什么情况,如:

$link = mysql_connect($server, $user, $pass);
$link = mysql_connect($server, $user, $pass);
PHP似乎没有产生任何通知。是否忽略第二行或建立新连接(如果是,是否自动关闭上一个连接)


我知道,这些情况本来就不应该发生。

我知道这是个老问题,但我自己也在想同样的事情。 所以我做了一个测试,看看php是否真的会忽略一个连接,或者打开一个新的连接(这会很糟糕,因为它可能会给数据库增加一些额外的负载)


上面将输出一个[thread_id]。
通过比较这两个ID,我发现它们并不相似,因此我必须假设现在有两个连接处于打开状态。

我也在寻找答案。Tnx给ComFreek我得解决我的问题。我面临着错误

mysql err 2014:命令不同步;现在无法运行此命令

这是因为在获取连接中的另一个查询的过程中执行新查询。然后我想知道mysqli_connect是否总是返回一个新的连接,或者如果存在,它是否返回一个打开的连接。关于参数“new\u link”,不推荐使用的“mysql\u connect”的文档中说():

新链接

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

但是较新的类“mysqli::uu构造”的文档说():

打开到MySQL服务器的连接


这意味着它总是返回一个新连接,所以我签出了它,并用一个新连接进行了新的查询(中间的一个),它是固定的。

了解可以传递到
mysql\u connect()
new\u link
参数:请不要使用不推荐的
mysql\u
函数。。。请改用
mysqli\uu
函数或DB包装器。。。。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果你选择PDO,.@H2Ooooo:我运行的是旧的PHP版本,而且这些PHP代码也有点旧,我不会仅仅因为一些函数在几年后被去除而更新代码。这也不是我的问题。“我知道这是一个无润滑的过程。@ComFreek:谢谢,我以前确实成功地忽略了这一点。”。忽略第二行(=将相同的连接返回到变量)。[thread\u id]=>71&[thread\u id]=>72将是唯一的区别。71和72在不同的系统中可能会有所不同。基于此假设2个连接是upen是不正确的吗?我也很困惑。但是,我认为最后一个连接将是开放的。比如a=10;a=10;
<?
$test1 = mysqli_connect("127.0.0.1","root","pass","test_db");
$test2 = mysqli_connect("127.0.0.1","root","pass","test_db");
print "<pre>";
print_r($test1);
print_r($test2);
print "</pre>";
?>