Share via


SQLSRV 常數

本主題列出 SQL Server Driver for PHP 定義的常數。

ERR 常數

下表列出的常數用來指定 sqlsrv_errors 是否要傳回錯誤、警告還是二種都要。

描述

SQLSRV_ERR_ALL

將會傳回最後一個 sqlsrv 函數呼叫上所產生的錯誤和警告。這是預設值。

SQLSRV_ERR_ERRORS

將會傳回最後一個 sqlsrv 函數呼叫上所產生的錯誤。

SQLSRV_ERR_WARNINGS

將會傳回最後一個 sqlsrv 函數呼叫上所產生的警告。

FETCH 常數

下表列出的常數是用來指定 sqlsrv_fetch_array 傳回的陣列類型。

SQLSRV 常數 描述

SQLSRV_FETCH_ASSOC

sqlsrv_fetch_array 當做關聯陣列傳回下一個資料列。

SQLSRV_FETCH_BOTH

sqlsrv_fetch_array 當做數值和關聯索引鍵傳回下一個資料列。這是預設值。

SQLSRV_FETCH_NUMERIC

sqlsrv_fetch_array 當做數值索引陣列傳回下一個資料列。

如需有關如何使用這些常數的詳細資訊,請參閱<如何:將資料當做陣列擷取>。

記錄常數

此章節列出使用 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_errorhandle_warning)。

下表列出可當做 LogSeverity 設定之值使用的常數:

SQLSRV 常數 (等同於括號內的整數) 描述

SQLSRV_LOG_SEVERITY_ALL (-1)

指定將會記錄錯誤、警告和通知。

SQLSRV_LOG_SEVERITY_ERROR (1)

指定將會記錄錯誤。

SQLSRV_LOG_SEVERITY_NOTICE (4)

指定將會記錄通知。

SQLSRV_LOG_SEVERITY_WARNING (2)

指定將會記錄警告。

Nullable 常數

下表列出的常數可用來判斷資料行是否可為 Null 或者沒有可以使用的資訊。您可以比較 sqlsrv_field_metadata 傳回的 Nullable 索引鍵以判斷資料行的 Null 狀態。

SQLSRV 常數 (等同於括號內的整數) 描述

SQLSRV_NULLABLE_YES (0)

此資料行可以為 NULL。

SQLSRV_NULLABLE_NO (1)

此資料行不能為 NULL。

SQLSRV_NULLABLE_UNKNOWN (2)

無法確定此資料行是否可為 NULL。

PARAM 常數

下列清單包含呼叫 sqlsrv_querysqlsrv_prepare 時可指定參數方向的常數。

SQLSRV 常數 描述

SQLSRV_PARAM_IN

表示輸入參數。

SQLSRV_PARAM_INOUT

表示雙向參數。

SQLSRV_PARAM_OUT

表示輸出參數。

PHPTYPE 常數

下表列出用來描述 PHP 資料類型的常數。如需有關預設 PHP 資料類型的資訊,請參閱<PHP 類型>。

SQLSRV 常數 PHP 資料類型

SQLSRV_PHPTYPE_INT

Integer

SQLSRV_PHPTYPE_DATETIME

Datetime

SQLSRV_PHPTYPE_FLOAT

Float

SQLSRV_PHPTYPE_STREAM(<編碼方式>1)

Stream

SQLSRV_PHPTYPE_STRING(<編碼方式>1)

String

1. SQLSRV_PHPTYPE_STREAMSQLSRV_PHPTYPE_STRING 接受指定資料流編碼方式的參數。下表包含可接受參數與對應編碼方式描述的 SQLSRV 常數。

SQLSRV 常數 描述

SQLSRV_ENC_BINARY

資料會以原始位元組資料流的形式從伺服器傳回,而不會執行編碼或轉譯。

SQLSRV_ENC_CHAR

資料會在 8 位元字元中傳回,如同系統上設定之 Windows 地區設定的字碼頁內所指定。任何未對應到此字碼頁的多位元組字元都會以單一位元組的問號 (?) 字元來替代。

"UTF-8"

以 UTF-8 編碼方式傳回資料。SQL Server Driver for PHP 1.1 版新增了這個常數。如需有關 UTF-8 支援的詳細資訊,請參閱<如何:使用內建 UTF-8 支援傳送及擷取 UTF-8 資料>。

注意

使用 SQLSRV_PHPTYPE_STREAMSQLSRV_PHPTYPE_STRING 時,必須指定編碼方式。如果沒有提供參數,則會傳回錯誤。

如需有關這些常數的詳細資訊,請參閱<如何:指定 PHP 資料類型>和<如何:將字元資料當做資料流來擷取>。

SQLTYPE 常數

下表列出用來描述 SQL Server 資料類型的常數。某些常數需要對應有效位數、小數位數和/或長度的參數。如需有關 SQL Server 資料類型的資訊,請參閱<資料類型 (Transact-SQL)>。如需有關資料類型有效位數、小數位數和長度的詳細資訊,請參閱<有效位數、小數位數和長度 (Transact-SQL)>。

SQLSRV 常數 SQL Server 資料類型

SQLSRV_SQLTYPE_BIGINT

bigint

SQLSRV_SQLTYPE_BINARY

binary

SQLSRV_SQLTYPE_BIT

bit

SQLSRV_SQLTYPE_CHAR($charCount)

char

SQLSRV_SQLTYPE_DATE

date4

SQLSRV_SQLTYPE_DATETIME

datetime

SQLSRV_SQLTYPE_DATETIME2

datetime24

SQLSRV_SQLTYPE_DATETIMEOFFSET

datetimeoffset4

SQLSRV_SQLTYPE_DECIMAL($precision, $scale)

decimal

SQLSRV_SQLTYPE_FLOAT

float

SQLSRV_SQLTYPE_IMAGE

image1

SQLSRV_SQLTYPE_INT

int

SQLSRV_SQLTYPE_MONEY

money

SQLSRV_SQLTYPE_NCHAR($charCount)

nchar

SQLSRV_SQLTYPE_NUMERIC($precision, $scale)

numeric

SQLSRV_SQLTYPE_NVARCHAR($charCount)

nvarchar

SQLSRV_SQLTYPE_NVARCHAR('max')

nvarchar(MAX)

SQLSRV_SQLTYPE_NTEXT

ntext2

SQLSRV_SQLTYPE_REAL

real

SQLSRV_SQLTYPE_SMALLDATETIME

smalldatetime

SQLSRV_SQLTYPE_SMALLINT

smallint

SQLSRV_SQLTYPE_SMALLMONEY

smallmoney

SQLSRV_SQLTYPE_TEXT

text3

SQLSRV_SQLTYPE_TIME

time4

SQLSRV_SQLTYPE_TIMESTAMP

timestamp

SQLSRV_SQLTYPE_TINYINT

tinyint

SQLSRV_SQLTYPE_UNIQUEIDENTIFIER

uniqueidentifier

SQLSRV_SQLTYPE_UDT

UDT

SQLSRV_SQLTYPE_VARBINARY($byteCount)

varbinary

SQLSRV_SQLTYPE_VARBINARY('max')

varbinary(MAX)

SQLSRV_SQLTYPE_VARCHAR($charCount)

varchar

SQLSRV_SQLTYPE_VARCHAR('max')

varchar(MAX)

SQLSRV_SQLTYPE_XML

xml

  1. 這是對應至 varbinary(max) 類型的傳統類型。
  2. 這是對應至新 nvarchar 類型的傳統類型。
  3. 這是對應至新 varchar 類型的傳統類型。
  4. SQL Server Driver for PHP 1.1 版新增了這種類型的支援。

下表列出接受參數的 SQLTYPE 常數與參數允許的值範圍。

SQLTYPE 參數 允許的參數範圍

SQLSRV_SQLTYPE_CHAR、

SQLSRV_SQLTYPE_VARCHAR

charCount

1 - 8000

SQLSRV_SQLTYPE_NCHAR、

SQLSRV_SQLTYPE_NVARCHAR

charCount

1 - 4000

SQLSRV_SQLTYPE_BINARY、

SQLSRV_SQLTYPE_VARBINARY

byteCount

1 - 8000

SQLSRV_SQLTYPE_DECIMAL、

SQLSRV_SQLTYPE_NUMERIC

precision

1 - 38

SQLSRV_SQLTYPE_DECIMAL、

SQLSRV_SQLTYPE_NUMERIC

scale

1 - precision 參數的值

交易隔離等級常數

TransactionIsolation 索引鍵 (搭配 sqlsrv_connect 使用) 可接受下列其中一個常數:

  • SQLSRV_TXN_READ_UNCOMMITTED
  • SQLSRV_TXN_READ_COMMITTED
  • SQLSRV_TXN_REPEATABLE_READ
  • SQLSRV_TXN_SNAPSHOT
  • SQLSRV_TXN_SERIALIZABLE

資料指標和捲動常數

下列常數會指定您可以用於結果集的資料指標種類:

  • 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)