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_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) |
指定將會記錄警告。 |
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_query 或 sqlsrv_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_STREAM 和 SQLSRV_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_STREAM 或 SQLSRV_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 |
- 這是對應至 varbinary(max) 類型的傳統類型。
- 這是對應至新 nvarchar 類型的傳統類型。
- 這是對應至新 varchar 類型的傳統類型。
- 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
如需有關使用這些常數的詳細資訊,請參閱<指定資料指標類型和選取資料列>。