




已阅读5页,还剩72页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 77 页 共 77 页php for sql server帮助手册第一部分 基础知识一、系统要求 (SQL Server Driver for PHP)1、环境要求 安装在运行 PHP 的计算机上的 Microsoft SQL Server Native Client。有关 SQL Server 2005 Native Client 的详细信息,请参阅 MSDN 上的Microsoft SQL Server Native Client页面。您需要的 Microsoft SQL Server Native Client 版本取决于您使用的 SQL Server Driver for PHP 的版本。sqlsrv_client_info将返回与 SQL Server Driver for PHP 正使用的 SQL Server Native Client 的版本有关的信息。 Microsoft SQL Server 2005 Native Client (sqlncli.dll),针对 SQL Server Driver for PHP 1.0 版。 Microsoft SQL Server 2008 Native Client (sqlncli10.dll),针对 SQL Server Driver for PHP 1.1 版。(用于 SQL Server Driver for PHP 1.1 版的 SQL Server 2008 Native Client 的最低版本已在用于 SQL Server 的 2009 年 4 月的功能包中发布。)2、驱动程序版本本节列出了为 SQL Server Driver for PHP 的 1.0 版和 1.1 版安装的驱动程序。请按照加载驱动程序中的安装说明配置用于 PHP 运行时的驱动程序。SQL Server Driver for PHP 的 1.0 版安装驱动程序的两个版本(这些驱动程序用于使用 Visual C+ 6.0 编译的 PHP 版本):驱动程序文件PHP 版本线程安全?用于 PHP .dllphp_sqlsrv.dll5.2否php5.dllphp_sqlsrv_ts.dll5.2是php5ts.dllSQL Server Driver for PHP 的 1.1 版安装若干版本的驱动程序:驱动程序文件PHP 版本线程安全?用于 PHP .dllphp_sqlsrv_53_nts_vc6.dll5.3否php5.dllphp_sqlsrv_53_nts_vc9.dll5.3否php5.dllphp_sqlsrv_53_ts_vc6.dll5.3是php5ts.dllphp_sqlsrv_53_ts_vc9.dll5.3是php5ts.dllphp_sqlsrv_52_nts_vc6.dll5.2否php5.dllphp_sqlsrv_52_ts_vc6.dll5.2是php5ts.dll如果驱动程序文件的名称包含“vc9”,则它应该用于使用 Visual C+ 9.0 编译的 PHP 版本。如果驱动程序文件的名称包含“vc6”,则它应该用于使用 Visual C+ 6.0 编译的 PHP 版本。二、加载 SQL Server Driver for PHP1、将驱动程序文件移入您的扩展插件目录中在 PHP 配置文件 (php.ini) 中指定驱动程序文件的目录位置。例如,如果您将驱动程序文件放置于您的 c:phpext 目录中,则使用以下选项:extension_dir = c:PHPext2、在 PHP 启动时加载该驱动程序1. 通过将以下行添加到扩展插件部分来修改php.ini,或者修改已在那里的行(此示例使用 1.0 版线程安全驱动程序):2. extension=php_sqlsrv_ts.dll3. 重新启动 Web 服务器。3、在脚本运行时加载该驱动程序若要在脚本运行时加载 SQL Server Driver for PHP,请首先将该驱动程序文件移入您的扩展插件目录中。然后,将下面一行包含在将使用该扩展插件的 PHP 脚本的开头:dl(php_sqlsrv_ts.dll);三、配置驱动程序1、配置选项SQL Server Driver for PHP 有三个配置选项:LogSubsystems、LogSeverity和WarningsReturnAsErrors。这些设置的默认值分别为SQLSRV_LOG_SYSTEM_OFF、SQLSRV_LOG_SEVERITY_ERROR(启用日志记录后)和true(1)。以下部分介绍这些配置选项及其可能的设置。LogSubsystems 选项LogSubsystems设置用于为子系统启用日志记录。下表列出了此设置的可能值。值(括号中为等效整数)说明SQLSRV_LOG_SYSTEM_ALL (-1)对所有子系统启用日志记录。SQLSRV_LOG_SYSTEM_OFF (0)禁用日志记录。此值为默认值。SQLSRV_LOG_SYSTEM_INIT (1)对初始化活动启用日志记录。SQLSRV_LOG_SYSTEM_CONN (2)对连接活动启用日志记录。SQLSRV_LOG_SYSTEM_STMT (4)对语句活动启用日志记录。SQLSRV_LOG_SYSTEM_UTIL (8)对错误函数活动(例如 handle_error 和 handle_warning)启用日志记录。LogSeverity 选项LogSeverity设置用于指定启用日志记录后记录的内容。下表列出了此设置的可能值。值(括号中为等效整数)说明SQLSRV_LOG_SEVERITY_ALL (-1)指定将错误、警告和通知记入日志。SQLSRV_LOG_SEVERITY_ERROR (1)指定将错误记入日志。此值为启用日志记录后的默认值。SQLSRV_LOG_SEVERITY_WARNING (2)指定将警告记入日志。SQLSRV_LOG_SEVERITY_NOTICE (4)指定将通知记入日志。WarningsReturnAsErrors 选项WarningsReturnAsErrors选项用于指定是否将调用sqlsrv函数生成的警告视为错误。将此选项设置为 1(默认值)表示将警告视为错误。将此选项设置为 0 表示不会将警告视为错误。有关详细信息,请参阅如何处理错误和警告。2、配置 Internet Information Services本主题提供了指向Internet 信息服务 (IIS) 网站中的与配置 IIS 以承载 PHP 应用程序相关的资源。此处列出的资源是针对配合 IIS 使用 FastCGI 的特定资源。FastCGI 是一个标准协议,它允许应用程序框架的 Common Gateway Interface (CGI) 可执行文件与 Web 服务器进行连接。FastCGI 与标准 CGI 协议的不同之处在于,FastCGI 对多个请求重复使用 CGI 进程。四、SQLSRV 常量1、ERR 常量下表中列出了用于指定sqlsrv_errors是返回错误还是警告或者是二者都返回的常量。值说明SQLSRV_ERR_ALL返回上次调用sqlsrv函数时生成的错误和警告。此值为默认值。SQLSRV_ERR_ERRORS返回上次调用sqlsrv函数时生成的错误。SQLSRV_ERR_WARNINGS返回上次调用sqlsrv函数时生成的警告。2、FETCH 常量下表中列出了用于指定sqlsrv_fetch_array返回的数组的类型的常量。SQLSRV 常量说明SQLSRV_FETCH_ASSOCsqlsrv_fetch_array将下一行数据以关联数组的形式返回。SQLSRV_FETCH_BOTHsqlsrv_fetch_array将下一行数据以带有数值键和关联键的数组的形式返回。此值为默认值。SQLSRV_FETCH_NUMERICsqlsrv_fetch_array将下一行数据以数字索引数组的形式返回。有关如何使用这些常量的详细信息,请参阅如何以数组的形式检索数据。3、将常量记入日志本部分列出了用于通过sqlsrv_configure更改日志记录设置的常量。有关将活动记入日志的详细信息,请参阅将活动记入日志。下表列出了可用作LogSubsystems设置的值的常量:SQLSRV 常量(括号中为等效整数)说明SQLSRV_LOG_SYSTEM_ALL (-1)对所有子系统启用日志记录。SQLSRV_LOG_SYSTEM_CONN (2)对连接活动启用日志记录。SQLSRV_LOG_SYSTEM_INIT (1)对初始化活动启用日志记录。SQLSRV_LOG_SYSTEM_OFF (0)禁用日志记录。SQLSRV_LOG_SYSTEM_STMT (4)对语句活动启用日志记录。SQLSRV_LOG_SYSTEM_UTIL (8)对错误函数活动(例如handle_error和handle_warning)启用日志记录。下表列出了可用作LogSeverity设置的值的常量:SQLSRV 常量(括号中为等效整数)说明SQLSRV_LOG_SEVERITY_ALL (-1)指定将错误、警告和通知记入日志。SQLSRV_LOG_SEVERITY_ERROR (1)指定将错误记入日志。SQLSRV_LOG_SEVERITY_NOTICE (4)指定将通知记入日志。SQLSRV_LOG_SEVERITY_WARNING (2)指定将警告记入日志。4、可为 Null 的常量下表中列出了可用于确定某列是否可为 Null 或是否提供此信息的常量。您可以比较sqlsrv_field_metadata返回的Nullable键的值,以确定该列的状态是否可为空。SQLSRV 常量(括号中为等效整数)说明SQLSRV_NULLABLE_YES (0)此列可为 Null。SQLSRV_NULLABLE_NO (1)此列不可为 Null。SQLSRV_NULLABLE_UNKNOWN (2)不确定此列是否可为 Null。5、PARAM 常量下面的列表包含用于在调用sqlsrv_query或sqlsrv_prepare时指定参数方向的常量。SQLSRV 常量说明SQLSRV_PARAM_IN表示输入参数。SQLSRV_PARAM_INOUT表示双向参数。SQLSRV_PARAM_OUT表示输出参数。6、PHPTYPE 常量下表列出了用于描述 PHP 数据类型的常量。有关 PHP 数据类型的信息,请参阅PHP Types(PHP 数据类型)。SQLSRV 常量PHP 数据类型SQLSRV_PHPTYPE_INTIntegerSQLSRV_PHPTYPE_DATETIMEDatetimeSQLSRV_PHPTYPE_FLOATFloatSQLSRV_PHPTYPE_STREAM(1)StreamSQLSRV_PHPTYPE_STRING(1)String1.SQLSRV_PHPTYPE_STREAM和SQLSRV_PHPTYPE_STRING接受指定流编码的参数。下表包含作为可接受参数的 SQLSRV 常量以及对相应编码的说明。SQLSRV 常量说明SQLSRV_ENC_BINARY数据以原始字节流的形式从服务器返回,而不执行编码或转换。SQLSRV_ENC_CHAR数据以在系统中设置的 Windows 区域设置的代码页中指定的 8 位字符的形式返回。任何多字节字符或未映射到此代码页中的字符将用单字节问号 (?) 字符替换。UTF-8数据在 UTF-8 编码中返回。在 SQL Server Driver for PHP 的 1.1 版中添加了此常量。注意:使用SQLSRV_PHPTYPE_STREAM或SQLSRV_PHPTYPE_STRING时,必须指定编码格式。如果未提供参数,则会返回错误。有关这些常量的详细信息,请参阅如何指定 PHP 数据类型和如何以流的形式检索字符数据。7、SQLTYPE 常量下表列出了用于描述 SQL Server 数据类型的常量。某些常量需要对应于精度、小数位数和/或长度的参数。有关默认 SQL Server 数据类型的信息,请参阅数据类型 (Transact-SQL)。有关精度、小数位数和长度的信息,请参阅精度、小数位数和长度 (Transact-SQL)。SQLSRV 常量SQL Server 数据类型SQLSRV_SQLTYPE_BIGINTbigintSQLSRV_SQLTYPE_BINARYbinarySQLSRV_SQLTYPE_BITbitSQLSRV_SQLTYPE_CHAR($charCount)charSQLSRV_SQLTYPE_DATEdate4SQLSRV_SQLTYPE_DATETIMEdatetimeSQLSRV_SQLTYPE_DATETIME2datetime24SQLSRV_SQLTYPE_DATETIMEOFFSETdatetimeoffset4SQLSRV_SQLTYPE_DECIMAL($precision,$scale)decimalSQLSRV_SQLTYPE_FLOATfloatSQLSRV_SQLTYPE_IMAGEimage1SQLSRV_SQLTYPE_INTintSQLSRV_SQLTYPE_MONEYmoneySQLSRV_SQLTYPE_NCHAR($charCount)ncharSQLSRV_SQLTYPE_NUMERIC($precision,$scale)numericSQLSRV_SQLTYPE_NVARCHAR($charCount)nvarcharSQLSRV_SQLTYPE_NVARCHAR(max)nvarchar(MAX)SQLSRV_SQLTYPE_NTEXTntext2SQLSRV_SQLTYPE_REALrealSQLSRV_SQLTYPE_SMALLDATETIMEsmalldatetimeSQLSRV_SQLTYPE_SMALLINTsmallintSQLSRV_SQLTYPE_SMALLMONEYsmallmoneySQLSRV_SQLTYPE_TEXTtext3SQLSRV_SQLTYPE_TIMEtime4SQLSRV_SQLTYPE_TIMESTAMPtimestampSQLSRV_SQLTYPE_TINYINTtinyintSQLSRV_SQLTYPE_UNIQUEIDENTIFIERuniqueidentifierSQLSRV_SQLTYPE_UDTUDTSQLSRV_SQLTYPE_VARBINARY($byteCount)varbinarySQLSRV_SQLTYPE_VARBINARY(max)varbinary(MAX)SQLSRV_SQLTYPE_VARCHAR($charCount)varcharSQLSRV_SQLTYPE_VARCHAR(max)varchar(MAX)SQLSRV_SQLTYPE_XMLxml1. 此为映射到 varbinary(max) 类型的旧类型。2. 此为映射到较新 nvarchar 类型的旧类型。3. 此为映射到较新 varchar 类型的旧类型。4. 在 SQL Server Driver for PHP 的 1.1 版中添加了对此类型的支持。下表列出了接受参数的 SQLTYPE 常量以及参数允许的值范围。SQLTYPE参数参数的允许范围SQLSRV_SQLTYPE_CHAR,SQLSRV_SQLTYPE_VARCHARcharCount1 - 8000SQLSRV_SQLTYPE_NCHAR,SQLSRV_SQLTYPE_NVARCHARcharCount1 - 4000SQLSRV_SQLTYPE_BINARY,SQLSRV_SQLTYPE_VARBINARYbyteCount1 - 8000SQLSRV_SQLTYPE_DECIMAL,SQLSRV_SQLTYPE_NUMERICprecision1 - 38SQLSRV_SQLTYPE_DECIMAL,SQLSRV_SQLTYPE_NUMERICscale1 - precision8、事务隔离级别常量用于sqlsrv_connect的TransactionIsolation键接受以下常量之一: SQLSRV_TXN_READ_UNCOMMITTED SQLSRV_TXN_READ_COMMITTED SQLSRV_TXN_REPEATABLE_READ SQLSRV_TXN_SNAPSHOT SQLSRV_TXN_SERIALIZABLE9、游标和滚动常量下面的常量指定可用于结果集的游标的类型: SQLSRV_CURSOR_FORWARD SQLSRV_CURSOR_STATIC SQLSRV_CURSOR_DYNAMIC SQLSRV_CURSOR_KEYSET下面的常量指定要在结果集中选择的行: SQLSRV_SCROLL_NEXT SQLSRV_SCROLL_PRIOR SQLSRV_SCROLL_FIRST SQLSRV_SCROLL_LAST SQLSRV_SCROLL_ABSOLUTE SQLSRV_SCROLL_RELATIVE第二部分:API 参考用于 SQL Server Driver for PHP 的 API 名称是sqlsrv。所有sqlsrv函数都以sqlsrv_打头,后跟动词或名词。后跟动词的函数用于执行特定操作,而后跟名词的函数用于返回特定形式的元数据。SQL Server Driver for PHP 包含以下函数:函数说明sqlsrv_begin_transaction开始事务。sqlsrv_cancel取消语句;并放弃相应语句的所有未决结果。sqlsrv_client_info提供有关客户端的信息。sqlsrv_close关闭连接。释放与相应连接关联的所有资源。sqlsrv_commit提交事务。sqlsrv_configure更改错误处理和日志记录配置。sqlsrv_connect创建一个连接,并将其打开。sqlsrv_errors返回关于上一操作的错误和/或警告信息。sqlsrv_execute执行预定义语句。sqlsrv_fetch使下一行的数据可供读取。sqlsrv_fetch_array以数值索引数组、关联数组或这两种数组的形式检索下一行的数据。sqlsrv_fetch_object以对象形式检索下一行的数据。sqlsrv_field_metadata返回字段元数据。sqlsrv_free_stmt关闭语句。释放与相应语句关联的所有资源。sqlsrv_get_config返回指定配置设置的值。sqlsrv_get_field按索引检索当前行中的字段。可以指定 PHP 返回类型。sqlsrv_has_rows检测结果集是否具有一行或多行。sqlsrv_next_result使下一结果可供处理。sqlsrv_num_rows报告结果集中的行数。sqlsrv_num_fields检索活动结果集中的字段数。sqlsrv_prepare准备 Transact-SQL 查询,但不执行该查询。隐式绑定参数。sqlsrv_query准备 Transact-SQL 查询,并将其执行。sqlsrv_rollback回滚事务。sqlsrv_rows_affected返回有所修改的行的数目。sqlsrv_send_stream_data在每次调用函数时向服务器发送最多八千字节 (8 KB) 的数据。sqlsrv_server_info提供有关服务器的信息。1、sqlsrv_begin_transaction在指定的连接上开始一个事务。当前事务包括指定连接上在调用sqlsrv_begin_transaction之后、对sqlsrv_rollback或sqlsrv_commit进行任何调用之前执行的所有语句。注意:如果在连接上已经启动事务但尚未通过调用sqlsrv_commit或sqlsrv_rollback完成该事务之时调用sqlsrv_begin_transaction,则该调用将返回false并将一个Already in Transaction错误添加到错误集合中。语法sqlsrv_begin_transaction( resource $conn)参数$conn:与该事务相关联的连接。返回值一个布尔值:如果事务成功开始,则为true。否则为false。示例作为事务的一部分,下面的示例执行两个查询。如果两个查询均成功完成,则提交事务。如果任一查询失败或这两个查询全都失败,则回滚事务。为了着重介绍事务行为,上面的示例未涵盖一些建议采用的错误处理方法。对于生产应用程序,建议检查对sqlsrv函数的任何调用以查看是否存在错误并进行相应处理。2、sqlsrv_cancel取消一条语句。这意味着放弃该语句的所有挂起结果。调用此函数之后,如果该语句是使用sqlsrv_prepare预定义的,则可以重新执行该语句。如果与该语句关联的所有结果均已使用,则不必调用该函数。语法sqlsrv_cancel( resource $stmt)参数$stmt:要取消的语句。返回值布尔值:如果操作成功,则为true。否则为false。示例下面的示例以AdventureWorks数据库为目标执行查询,然后使用结果并对其进行计数,直至变量$salesTotal达到指定数量。然后放弃其余的查询结果。此示例假定本地计算机上已安装了 SQL Server 和 AdventureWorks 数据库。?php$tsql = SELECT OrderQty, UnitPrice FROM Sales.SalesOrderDetail;$stmt = sqlsrv_prepare( $conn, $tsql);if( $stmt = false ) die( print_r( sqlsrv_errors(), true);if( sqlsrv_execute( $stmt ) = false) die( print_r( sqlsrv_errors(), true);/* Initialize tracking variables. */$salesTotal = 0;$count = 0;/* Count and display the number of sales that produce revenueof $100,000. */while( ($row = sqlsrv_fetch_array( $stmt) & $salesTotal 注释使用sqlsrv_prepare和sqlsrv_execute的组合预定义并执行的语句在调用sqlsrv_execute之后可以使用sqlsrv_cancel重新执行。使用sqlsrv_query执行的语句在调用sqlsrv_cancel之后无法重新执行。3、sqlsrv_client_info语法sqlsrv_client_info( resource $conn)参数$conn:通过其来连接客户端的连接资源。返回值具有下表中说明的键的关联数组;如果连接资源为 null,则为false。键说明DriverDllNameSQLNCLI.DLL(SQL Server Driver for PHP 1.0 版)SQLNCLI10.DLL(SQL Server Driver for PHP 1.1 版)DriverODBCVerODBC 版本 (xx.yy)DriverVerSQL Server Native Client DLL 版本:09.00.xxxx(SQL Server Driver for PHP 1.0 版)10.00.xxx(SQL Server Driver for PHP 1.1 版)ExtensionVerphp_sqlsrv.dll version:1.0.xxxx.x(SQL Server Driver for PHP 1.0 版)1.1.xxxx.x(SQL Server Driver for PHP 1.1 版)示例 $value) echo $key.: .$value.n; else echo Client info error.n;sqlsrv_close( $conn);?4、sqlsrv_close语法sqlsrv_close( resource $conn )参数$conn:要关闭的连接。返回值若非使用无效参数调用此函数,则为布尔值true。如果使用无效参数调用此函数,则返回false。注意:Null是此函数的有效参数。使用此参数,可在脚本中多次调用此函数。例如,如果在一个错误条件中关闭某一连接并在脚本末尾再次关闭该连接,则对sqlsrv_close的第二次调用将返回true,因为对sqlsrv_close的第一次调用(在错误条件中)将相应连接资源设置为null。示例下面的示例将关闭一个连接。此示例假定在本地计算机上已安装 SQL Server。从命令行运行此示例时,所有的输出都将写入控制台。5、sqlsrv_commit提交指定连接上的当前事务,并使该连接返回到自动提交模式。当前事务包括指定连接上在调用sqlsrv_begin_transaction之后、对sqlsrv_rollback或sqlsrv_commit进行任何调用之前执行的所有语句。注意:如果对不属于活动事务并且是使用sqlsrv_begin_transaction启动的连接调用sqlsrv_commit,则该调用将返回false,并向错误集合中添加一个Not in Transaction错误。语法sqlsrv_commit( resource $conn )参数$conn:活动事务所在的连接。返回值一个布尔值:如果事务成功提交,则为true。否则为false。6、sqlsrv_configure语法sqlsrv_configure( string $setting, mixed $value )参数$setting:要配置的设置的名称。可能的值有“WarningsReturnAsErrors”、“LogSubsystems”和“LogSeverity”。$value:要应用于在$setting参数中指定的设置的值。此参数可能的值取决于指定的设置。下表列出了可能的组合:设置$value 参数可能的值(括号中为等效整数)默认值WarningsReturnAsErrorstrue(1) 或false(0)true(1)LogSubsystemsSQLSRV_LOG_SYSTEM_ALL (-1)SQLSRV_LOG_SYSTEM_CONN (2)SQLSRV_LOG_SYSTEM_INIT (1)SQLSRV_LOG_SYSTEM_OFF (0)SQLSRV_LOG_SYSTEM_STMT (4)SQLSRV_LOG_SYSTEM_UTIL (8)SQLSRV_LOG_SYSTEM_OFF (0)LogSeveritySQLSRV_LOG_SEVERITY_ALL (-1)SQLSRV_LOG_SEVERITY_ERROR (1)SQLSRV_LOG_SEVERITY_NOTICE (4)SQLSRV_LOG_SEVERITY_WARNING (2)SQLSRV_LOG_SEVERITY_ERROR (1)返回值如果使用不支持的设置或值调用sqlsrv_configure,此函数将返回false。否则,此函数将返回true。7、sqlsrv_connect语法sqlsrv_connect( string $serverName , array $connectionInfo)参数$serverName:一个字符串,它指定了要连接的服务器的名称。此字符串中可包含实例名称(例如,“myServerinstanceName”)或端口名称(例如,“myServer, 1521”)。有关此参数的可用选项的完整说明,请参阅Using Connection String Keywords with SQL Native Client(将连接字符串关键字用于 SQL Native Client)中的“Server keyword in the ODBC Driver Connection String Keywords(ODBC 驱动程序连接字符串关键字中的服务器关键字)”部分。$connectionInfo可选:一个关联array,其中包含连接属性(例如,array(Database = AdventureWorks))。下表描述了该数组所支持的键:键值说明默认值APP字符串跟踪中使用的应用程序名称。未设置任何值。CharacterSet字符串指定用于将数据发送到服务器的字符集。SQLSRV_ENC_CHARConnectionPooling1 或true,表示打开连接池。0 或false,表示关闭连接池。指定从连接池中指定该连接(1 或true)或不从连接池中指定该连接(0 或false)。true(1)Database字符串指定所建立的连接使用的数据库的名称1。针对所使用的登录名的默认数据库。Encrypt1 或true,表示启用加密。0 或false,表示关闭加密。指定对与 SQL Server 之间的通信加密(1 或true)还是不加密(0 或false)2。false(0)Failover_Partner字符串指定在主服务器不可用时使用的数据库镜像(如果已启用并配置)的服务器和实例。未设置任何值。LoginTimeout整数指定在连接尝试失败之前等待的秒数。没有超时。MultipleActiveResultSets1 或true,表示使用多个活动结果集。0 或false,表示禁用多个活动结果集。允许您禁用或显式启用对多个活动结果集 (MARS) 的支持。false (0)PWD字符串指定与使用 SQL Server 身份验证进行连接时要使用的用户 ID 关联的密码3。未设置任何值。QuotedId1 或true,表示使用 SQL-92 规则。0 或false,表示使用旧的规则。指定将为带引号的标识符使用 SQL-92 规则(1 或true)或是使用旧的 Transact-SQL 规则(0 或false)。true(1)ReturnDatesAsStrings1 或true,表示以字符串的形式检索日期和时间类型。0 或false,表示以 PHPDateTime类型的形式返回日期和时间类型。您可以通过字符串或 PHP 类型的形式检索日期和时间类型(datetime、date、time、datetime2 和 datetimeoffset)。falseTraceFile字符串用于跟踪数据的文件的路径。未设置任何值。TraceOn1 或true,表示启用跟踪。0 或false,表示禁用跟踪。指定为所建立的连接启用 ODBC 跟踪(1 或true)或禁用 ODBC 跟踪(0 或false)。false(0)TransactionIsolationSQLSRV_TXN_READ_UNCOMMITTED、SQLSRV_TXN_READ_COMMITTED、SQLSRV_TXN_REPEATABLE_READ、SQLSRV_TXN_SNAPSHOT、SQLSRV_TXN_SERIALIZABLE指定事务隔离级别。SQLSRV_TXN_READ_COMMITTEDTrustServerCertificate1 或true,表示信任证书。0 或false,表示不信任证书。指定客户端应该信任(1 或true)还是拒绝(0 或false)自签名服务器证书。false(0)UID字符串指定在使用 SQL Server 身份验证进行连接时要使用的用户 ID3。未设置任何值。WSID字符串要跟踪的计算机的名称。未设置任何值。1. 在建立的连接上执行的所有查询都将针对由Database属性所指定的数据库进行。但是,如果用户具有相应权限,则可以使用完全限定的名称访问其他数据库中的数据。2. 启用Encryption可能会影响某些应用程序的性能,这是因为加密数据需要计算开销。3. 在使用 SQL Server 身份验证进行连接时必须设置UID和PWD属性。返回值PHP 连接资源。如果无法成功创建并打开连接,则返回false。备注如果在可选$connectionInfo参数中未指定UID和PWD键的值,将尝试使用 Windows 身份验证进行连接。示例以下示例使用 Windows 身份验证创建并打开了一个连接。该示例假设 SQL Server 和AdventureWorks数据库安装在本地计算机上。从命令行运行此示例时,所有的输出都将写入控制台。AdventureWorks);$conn = sqlsrv_connect( $serverName, $connectionInfo);if( $conn ) echo Connection established.n;else echo Connection could not be established.n; die( print_r( sqlsrv_errors(), true);sqlsrv_close( $conn);?8、sqlsrv_errors返回关于上次执行的sqlsrv操作的扩展错误和/或警告信息。通过使用在下文“参数”部分中指定的其中一个参数值调用sqlsrv_errors函数,可使该函数返回错误和/或警告信息。默认情况下,调用任何sqlsrv函数时生成的警告都被视为错误;如果在调用sqlsrv函数时出现警告,则该函数将返回 false。但是,与 SQLSTATE 值 01000、01001、01003 和 01S02 对应的警告永远不会被视为错误。下面这行代码禁用上述行为;通过调用sqlsrv函数生成的警告不会使该函数返回 false:sqlsrv_configure(WarningsReturnAsErrors, 0);下面这行代码重新启用默认行为;警告(以及上述异常)会被视为错误:sqlsrv_configure(WarningsReturnAsErrors, 1);不论设置如何,警告都只能通过使用sqlsrv_errors或SQLSRV_ERR_ALL参数值(有关详细信息,请参阅下文中的“参数”部分)调用SQLSRV_ERR_WARNINGS来检索。语法sqlsrv_errors( int $errorsAndOrWarnings )参数$errorsAndOrWarnings可选:一个预定义的常数。此参数可以取下表中列出的值之一:值说明SQLSRV_ERR_ALL返回上次调用sqlsrv函数时生成的错误和警告。SQLSRV_ERR_ERRORS返回上次调用sqlsrv函数时生成的错误。SQLSRV_ERR_WARNINGS返回上次调用sqlsrv函数时生成的警告。如果没有提供任何参数值,则返回通过上次调用sqlsrv函数生成的错误和警告。返回值数组的array或null。返回的array中的每个array均包含三个键值对。下表列出了每个键及其说明:键说明SQLSTATE对于来自 ODBC 驱动程序的错误,为 ODBC 返回的 SQLSTATE。有关 ODBC 的 SQLSTATE 值的信息,请参阅ODBC Error Codes(ODBC 错误代码)。对于来自 SQL Server Driver for PHP 的错误,SQLSTATE 为 IMSSP。对于来自 SQL Server Driver for PHP 的警告,SQLSTATE 为 01SSP。code对于来自 SQL Server 的错误,为本机 SQL Server 错误代码。对于来自 ODBC 驱动程序的错误,为 ODBC 返回的错误代码。对于来自 SQL Server Driver for PHP 的错误,为 SQL Server Driver for PHP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 慰问慈善活动发言稿
- 旧房拆除新建施工方案
- 大学的期末总结
- 基坑土方破碎施工方案
- 节电装置安装施工方案
- 管道抱卡施工方案
- 河南省全省防汛应急预案
- 防腐施工方案
- pe水管现场施工方案
- 2025年中国油性外墙稀释剂数据监测研究报告
- 2024年国家电投集团黄河公司招聘笔试参考题库含答案解析
- 航海英语会话(一)
- 道路工程安全技术交底
- 高三数学备课组高考数学经验总结
- 鼎捷T100-V1.0-票据资金用户手册-简体
- 城乡规划管理与法规系列讲座城乡规划的监督检查
- 第一单元知识盘点(含字词、佳句、感知、考点) 四年级语文上册 (部编版有答案)
- 钻井工程钻柱课件
- 小学硬笔书法课教案(1-30节)
- 周口市医疗保障门诊特定药品保险申请表
- 校园物业考评表
评论
0/150
提交评论