【发布时间】:2010-02-18 14:28:55
【问题描述】:
我有一个打开的 SQL Server 连接,需要在保持第一个连接的同时打开和关闭另一个连接。我无法保留原始资源 ID。
- 连接A(可能打开也可能不打开)
- 打开连接B
- 使用连接 B 执行一些查询
- 关闭连接B
- 继续使用连接 A
【问题讨论】:
-
我认为您在某处遗漏了一个问号。还有,为什么不能持有资源ID?
标签: php sql sql-server
我有一个打开的 SQL Server 连接,需要在保持第一个连接的同时打开和关闭另一个连接。我无法保留原始资源 ID。
【问题讨论】:
标签: php sql sql-server
如果您使用以下方法建立连接,您可能没有真正的“A”和“B”连接。如果您使用 '$new_link' 参数,它还可以为您提供恢复先前打开的 'A' 连接的方法。
资源 mssql_connect ([ string $servername [, string $username [, string $password [, bool $new_link ]]]])
来自 php.net http://www.php.net/manual/en/function.mssql-connect.php
新链接
如果使用相同的参数对 mssql_connect() 进行第二次调用,则不会建立新链接,而是返回已打开链接的链接标识符。此参数修改此行为并使 mssql_connect() 始终打开一个新链接,即使之前使用相同的参数调用了 mssql_connect()。
所以基本上,如果您创建连接 A,然后使用 new_link true 创建连接 B,然后使用并关闭连接 B,您下一次使用 new_link false 调用 mssql_connect 将返回连接 A。
我尚未对此进行测试,但文档显示它是可能的,虽然它可能无法解决您的问题,但您可以使用它。
但是我很好奇为什么你不能保持 A 以及为什么你需要第二个连接。
【讨论】: