1. 新版PHP5.6对MSSQL的改进
PHP是一种广泛使用的服务器端脚本语言,而MSSQL是一种流行的关系型数据库管理系统。PHP和MSSQL之间的配合已经相当成熟,随着PHP的不断升级,对MSSQL的支持也有所改进。
1.1 MSSQL扩展
在早期版本的PHP中,MSSQL是一个可选的扩展(extension),需要手动加载并启用。然而在PHP 5.3.x和5.4.x的版本中,MSSQL扩展被移除了。相反,在PHP 5.5.x和5.6.x中,MSSQL扩展重新被打包并默认启用,这意味着它不再是一个可选的扩展。
1.2 驱动程序
在过去,开发人员可能会使用Microsoft SQL Server驱动程序(Microsoft SQL Server Driver for PHP),或SQL Server Native Client(Microsoft SQL Server Native Client)来与MSSQL进行交互。在新版PHP中,这些驱动程序已被取代,被称为“Microsoft Drivers for PHP for SQL Server”,可以在Microsoft官网上下载。这些新驱动程序提供了更好的性能、更好的可用性和更好的可维护性。
1.3 Unicode支持
在之前版本的PHP中,对于Unicode字符集的支持存在一些限制。在新版PHP中,新的Unicode支持使得与MSSQL交互的数据更加安全有效。此外,PHP还提供了一个新的Unicode函数库,以便更好地支持Unicode字符集。
1.4 重要提醒
虽然新版PHP对MSSQL的支持得到了很大的改进,但是需要注意的是:PHP 7.0.x版本中不再支持MSSQL扩展,除非你使用了自己编译的PHP,否则将无法使用MSSQL扩展。
2. 新版PHP5.6对MSSQL的应用
PHP和MSSQL的配对已经成为一个非常流行的组合,配对的典型应用程序包括Web应用程序、桌面应用程序和服务。
2.1 Web应用程序
Web应用程序是利用Web浏览器访问的应用程序,MSSQL可以作为Web应用程序的数据库。MSSQL与PHP的集成可以实现许多功能,例如:
动态生成高度定制的报告
处理用户输入
可定制的应用程序表单
身份验证和授权
呈现动态数据
下面是一个使用PHP和MSSQL的例子:
$serverName = "localhost";
$connectionOptions = array(
"Database" => "myDatabase",
"Uid" => "myUsername",
"PWD" => "myPassword"
);
//Establishes the connection
$conn = sqlsrv_connect($serverName, $connectionOptions);
上面的代码建立了一个到指定数据库服务器的连接,并返回一个连接句柄。
2.2 桌面应用程序
桌面应用程序是一种运行在本地计算机上的应用程序。MSSQL可以是桌面应用程序的数据库,PHP提供与MSSQL集成的方法。
下面是一个使用PHP和MSSQL的例子:
$serverName = "localhost";
$connectionOptions = array(
"Database" => "myDatabase",
"Uid" => "myUsername",
"PWD" => "myPassword"
);
// Establishes the connection
$conn = sqlsrv_connect($serverName, $connectionOptions);
// Select query
$tsql= "SELECT * FROM Employees";
// Executes the query
$getResults= sqlsrv_query($conn, $tsql);
// Error handling
if ($getResults == FALSE)
die(FormatErrors(sqlsrv_errors()));
上面的代码建立了一个到指定数据库服务器的连接,并对employees表执行了一个查询。查询结果存储在一个结果集中,并且可以通过调用sqlsrv_fetch_array()函数来依次读取每一行的数据。
2.3 服务
编写服务是管理和监视远程系统的一种方法。PHP与MSSQL的配合可以提供一些重要的服务,例如:
自动化任务处理
周期性处理
数据库备份
数据库恢复
文件传输
下面是一个使用PHP和MSSQL的例子:
$serverName = "localhost";
$connectionOptions = array(
"Database" => "myDatabase",
"Uid" => "myUsername",
"PWD" => "myPassword"
);
// Establishes the connection
$conn = sqlsrv_connect($serverName, $connectionOptions);
// Query to create a job
$tsql= "EXEC dbo.sp_add_job @job_name= 'MyTestJob001',
@description= 'This is my test job.'";
// Executes the query
$getResults= sqlsrv_query($conn, $tsql);
// Error handling
if ($getResults == FALSE)
die(FormatErrors(sqlsrv_errors()));
上面的代码创建了一个新的作业,可以让用户自定义并安排作业的执行时间。
3. 总结
随着PHP的不断发展,与MSSQL的结合也得到了持续的改进。新版PHP 5.6中,MSSQL的支持已经成为一个默认的扩展,新的Unicode支持也实现了与MSSQL更加安全有效地交互。在Web应用程序、桌面应用程序和服务等领域中,PHP和MSSQL的配合有着广泛的应用前景。