在PHP中打开新的SQL Server连接

在PHP中打开新的SQL Server连接,php,sql,sql-server,Php,Sql,Sql Server,我有一个打开的SQL Server连接,需要在保持第一个连接的同时打开和关闭另一个连接。我无法保留原始文件的资源ID 连接A(可能打开,也可能不打开) 打开连接B 使用连接执行一些查询 紧密连接B 继续使用连接A 如果您使用以下方法建立连接,您可能没有真正的“A”和“B”连接。如果使用“$new_link”参数,它还可以为您提供一种恢复以前打开的“a”连接的方法 资源mssql_connect([string$servername[,string$username[,string$passwor

我有一个打开的SQL Server连接,需要在保持第一个连接的同时打开和关闭另一个连接。我无法保留原始文件的资源ID

  • 连接A(可能打开,也可能不打开)
  • 打开连接B
  • 使用连接执行一些查询
  • 紧密连接B
  • 继续使用连接A

  • 如果您使用以下方法建立连接,您可能没有真正的“A”和“B”连接。如果使用“$new_link”参数,它还可以为您提供一种恢复以前打开的“a”连接的方法

    资源mssql_connect([string$servername[,string$username[,string$password[,bool$new_link]]))

    来自php.net

    新建链接
    如果使用相同的参数对mssql_connect()进行第二次调用,则不会建立新链接,而是返回已打开链接的链接标识符。此参数修改此行为并使mssql_connect()始终打开新链接,即使以前使用相同参数调用过mssql_connect()

    因此,基本上,如果您创建连接A,然后使用new_link true创建连接B,然后使用并关闭连接B,那么您对mssql_connect with new_link false的下一次调用将返回连接A

    我还没有测试过这一点,但是文档显示它是可能的,尽管它可能不是解决您的问题的工具,但您可以使用它来解决这个问题


    然而,我很好奇,为什么您不能保留A以及为什么您需要第二个连接。

    我认为您在某个地方遗漏了一个问号。还有,为什么你不能持有资源ID?我看了一下,问题是当我关闭“B”时,即使有了新的链接,所有的连接都会丢失。我无法保存“A”的资源id,因为它的代码没有很好的工程化。您确定“B”与“A”真的不同吗。正如我提到的,如果您多次调用mssql_connect而没有将new_link设置为true,您只会得到相同的链接,因此在这种情况下,关闭“B”将关闭“A”。