Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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访问mssql_Php_Sql Server - Fatal编程技术网

使用PHP访问mssql

使用PHP访问mssql,php,sql-server,Php,Sql Server,在Silverlight中开发了应用程序之后,我们现在转向HTML5。作为迈向更开放源代码方法的一部分,我正在考虑使用PHP链接到我们的MSSQL数据库,而不是.NET。有什么好的理由不采取这种做法吗?(我们必须保持MSSQL和Windows)根据这一点,有很多函数可以处理MSSQL数据库 无论如何,您应该首先按照MICROSOFT的说明加载驱动程序 您可以在Microsoft下载中心下载SQL Server 2005 PHP驱动程序。下载中包括两个.dll文件:php_sqlsrv.dll和p

在Silverlight中开发了应用程序之后,我们现在转向HTML5。作为迈向更开放源代码方法的一部分,我正在考虑使用PHP链接到我们的MSSQL数据库,而不是.NET。有什么好的理由不采取这种做法吗?(我们必须保持MSSQL和Windows)

根据这一点,有很多函数可以处理MSSQL数据库

无论如何,您应该首先按照MICROSOFT的说明加载驱动程序

您可以在Microsoft下载中心下载SQL Server 2005 PHP驱动程序。下载中包括两个.dll文件:php_sqlsrv.dll和php_sqlsrv_ts.dll。 加载SQL Server 2005 PHP驱动程序与加载任何PHP扩展类似

  • 将扩展文件(php_sqlsrv.dll或php_sqlsrv_ts.dll)放入 PHP扩展目录
  • 修改php.ini文件以包含扩展名。 取决于要加载的驱动程序版本 (非线程安全或线程安全),您将需要添加 下面是php.ini的动态扩展部分 文件:

    extension=php\u sqlsrv.dll

    extension=php\u sqlsrv\u ts.dll

  • 重新启动Web服务器

  • 享受API

  • 完成所有操作后,您必须配置SQL Server 2005+PHP驱动程序有三个配置选项:

    • 日志子系统 使用此选项可打开或关闭子系统的日志记录。这个 默认设置为SQLSRV_LOG_SYSTEM_OFF(日志记录由 默认值)
    • 日志严重性 使用此选项指定在打开日志记录后要记录的内容 在…上默认设置为SQLSRV_LOG_SEVERITY_ERROR(仅显示错误) 默认情况下,在打开日志记录后进行日志记录)
    • 警告返回错误默认情况下,PHP驱动程序 将sqlsrv函数生成的警告视为错误。使用 WarningReturnasErrors选项可更改此行为。默认值 此选项的设置为true
    注:此规则有例外情况。例如,通过更改数据库上下文生成的警告永远不会被视为错误

    最后,你只需要记住最后几件事 *sqlsrv_connect*函数用于建立与服务器的连接

    $serverName = "(local)";
    $connectionOptions = array("Database"=>"myDatabase");
    /* Connect using Windows Authentication. */
    $conn = sqlsrv_connect( $serverName, $connectionOptions);
    if( $conn === false )
          { die( FormatErrors( sqlsrv_errors() ) ); }
    
    默认情况下,sqlsrv_connect函数使用Windows身份验证来建立连接。在大多数情况下,这意味着Web服务器的进程标识或线程标识(如果Web服务器使用模拟)用于连接到服务器,而不是最终用户的标识

    sqlsrv_connect函数接受两个参数:$serverName和$connectionOptions(可选)

    • $serverName此必需参数用于指定服务器的名称 要连接到的服务器。在上面的代码中 已建立到本地服务器的连接。此参数可以 还可用于指定SQL Server实例或端口号。对于 例如:

      $serverName=“myServer\instanceName”

    -或-

    • $connectionOptions此可选参数是设置连接选项的键值对数组。对于
      更多信息,请参阅产品文档中的sqlsrv_connect
    注意:要使用SQL server身份验证登录到服务器,必须在$connectionOptions参数中设置UID和PWD选项

    请注意,示例中显示的FormatErrors函数是用于格式化错误输出的自定义函数。

    我在高可用性生产环境中使用php(在Windows Server 2003和2008上的IIS上运行)和Microsoft SQL Server(2008和2008R2)已有近2年了

    从php到SQL server的驱动程序在开始时有点不稳定,但只要您获得最新的驱动程序,它就非常健壮


    在我的环境中,PHP和SQL Server的组合比.net实现的性能更好。

    对于StackOverflow的Q&A格式来说,这不是一个合适的问题。如果你想从网站上复制粘贴内容,你至少应该包括一个到源代码的链接。抱歉,这个问题被认为是不合适的,但答案确实很有帮助。谢谢。@DavidCarver面具作为答案,如果真的有用,请:)
    $serverName = "myServer, 1521";