先前在Silverlight中开发了应用程序后,我们现在转向使用HTML5。作为迈向更开放源代码方法的一部分,我正在考虑使用PHP链接到我们的MSSQL数据库而不是.NET。有没有理由不采取这种方法? (我们必须保持MSSQL和Windows)使用PHP访问MS SQL
回答
根据PHP.Net有很多函数来处理MSSQL数据库。
反正你应该首先加载驱动程序为MICROSOFT说Official SQL Server Site
您可以在微软下载SQL Server 2005的驱动程序PHP下载中心。下载中包含两个.dll文件:php_sqlsrv.dll和php_sqlsrv_ts.dll。 加载PHP的SQL Server 2005驱动程序与加载任何PHP扩展相似!
- 将扩展文件(php_sqlsrv.dll或php_sqlsrv_ts.dll)放入 PHP扩展目录中。
修改php.ini文件以包含扩展名。 根据您要加载的驱动程序版本为 (非线程安全或线程安全),您需要将 以下行之一添加到您的php.ini文件的动态扩展部分:
延长= php_sqlsrv.dll
延长= php_sqlsrv_ts.dll
重新启动Web服务器。
享受API
后万物,你必须配置在SQL Server 2005 +驱动程序PHP有三个配置选项:
- LogSubsystems 使用此选项打开或关闭子系统的日志记录。 的默认设置是SQLSRV_LOG_SYSTEM_OFF(日志由默认的 关闭)。
- LogSeverity 使用此选项可以指定日志记录被打开后要记录的内容 。默认设置为SQLSRV_LOG_SEVERITY_ERROR(仅在打开日志记录后,默认情况下会记录 )。
- WarningsReturnAsErrors默认情况下,PHP的驱动程序 将sqlsrv函数生成的警告视为错误。使用 WarningsReturnAsErrors选项可更改此行为。此选项的默认设置为 设置为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”;
- 或 -
$serverName = "myServer, 1521";
- $ connectionOptions此可选参数是设置在该连接上的选项键 - 值对的数组。有关
的更多信息,请参阅产品文档中的sqlsrv_connect。
注 UID和PWD选项必须在$ connectionOptions参数设置为登录到SQL Server验证的服务器。
注意该示例中显示的FormatErrors函数是用于格式化错误输出的自定义函数。
我已经在高可用性生产环境中使用php(在Windows Server 2003和2008上的IIS上运行)以及Microsoft SQL Server(2008和2008R2)近2年。
从PHP到SQL服务器的驱动程序在开始时有点不稳定,但只要获得最新的驱动程序,它就非常强大。
在我的环境中,PHP和SQL Server组合的性能比.net实现要好。
- 1. 访问MS SQL从PHP 5.5
- 2. MS访问SQL在
- 3. 如何使用PHP访问MS SQL Server数据Web
- 4. 在Linux上使用PHP 5.3+访问MS SQL的首选方法
- 5. MS访问SQL帮助
- 6. MS访问SQL服务器
- 7. MS访问SQL视图
- 8. ms访问如果在sql
- 9. MS-访问:SQL在表
- 10. MS访问SQL - 从5桌
- 11. MS访问SQL Server搜索
- 12. MS-SQL访问DISTINCT GROUP BY
- 13. 使用java访问MS CryptoAPI
- 14. 使用ms-appdata访问StorageFolder
- 15. 使用JAVA访问MS Outlook
- 16. 哪里是用于访问MS SQL的PHP驱动程序?
- 17. MS - 访问BigInt SQL SERVER问题
- 18. MS访问SQL查询问题
- 19. 无法访问MS SQL存储过程的结果与PHP
- 20. MS访问SQL连接语法
- 21. VBA - MS访问外部SQL服务器
- 22. MS SQL访问日期和流派
- 23. 对SQL查询的MS访问
- 24. MS访问SQL加入子查询
- 25. 错误而从MS SQL出口访问
- 26. MS访问SQL查询结果
- 27. MS访问SQL数据流和性能
- 28. MS SQL访问有两个SUM函数
- 29. 从ms访问导入sql server 2008
- 30. j2me +直接访问MS SQL服务器
对于StackOverflow的问答格式,这不是一个合适的问题。请参阅http://stackoverflow.com/faq#dontask – Crontab