Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Toto téma popisuje konstanty, které jsou definovány ovladači Microsoft pro PHP pro SQL Server.
konstanty ovladače PDO_SQLSRV
Konstanty uvedené na webu PDO jsou platné v ovladačích Microsoftu pro PHP pro SQL Server.
Následující popis konstant specifických pro Microsoft v ovladači PDO_SQLSRV.
Konstanty na úrovni izolace transakcí
Klíč TransactionIsolation , který se používá s pdO::__construct, přijímá jednu z následujících konstant:
PdO::SQLSRV_TXN_READ_UNCOMMITTED
PDO::SQLSRV_TXN_READ_COMMITTED
PDO::SQLSRV_TXN_REPEATABLE_READ
PDO::SQLSRV_TXN_SNAPSHOT
PDO::SQLSRV_TXN_SERIALIZABLE
Další informace o klíči TransactionIsolation naleznete v tématu Možnosti připojení.
Kódovací konstanty
Atribut PDO::SQLSRV_ATTR_ENCODING lze předat PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn a PDOStatement::bindParam.
Dostupné hodnoty předávané do PDO::SQLSRV_ATTR_ENCODING jsou
| konstanta ovladače PDO_SQLSRV | Description |
|---|---|
| PDO::SQLSRV_ENCODING_BINARY | Data jsou nezpracovaný bajtový stream ze serveru bez nutnosti kódování nebo překladu. Není platné pro pdo::setAttribute. |
| PDO::SQLSRV_ENCODING_SYSTEM | Data jsou 8bitové znaky, jak je uvedeno na znakové stránce národního prostředí Systému Windows, které je nastaveno v systému. Všechny vícebajtové znaky nebo znaky, které nelze namapovat na tuto znakovou stránku, se nahradí jednobajtovým otazníkem (?). |
| PDO::SQLSRV_ENCODING_UTF8 | Data jsou v kódování UTF-8. Toto je výchozí kódování. |
| PDO::SQLSRV_ENCODING_DEFAULT | Používá pdo::SQLSRV_ENCODING_SYSTEM, pokud je zadán během připojení. Pokud je zadané v příkazu prepare, použijte kódování připojení. |
Časový limit dotazu
PDO::SQLSRV_ATTR_QUERY_TIMEOUT atribut je libovolné nezáporné celé číslo představující dobu časového limitu v sekundách. Nula (0) je výchozí hodnota a znamená žádný časový limit.
Atribut PDO::SQLSRV_ATTR_QUERY_TIMEOUT můžete zadat pomocí PDOStatement::setAttribute, PDO::setAttribute a PDO::prepare.
Přímé nebo připravené spuštění
Pomocí atributu PDO::SQLSRV_ATTR_DIRECT_QUERY můžete vybrat přímé spuštění dotazu nebo připravené spuštění příkazu. PDO::SQLSRV_ATTR_DIRECT_QUERY lze nastavit pomocí PDO::prepare nebo PDO::setAttribute. Další informace o pdO::SQLSRV_ATTR_DIRECT_QUERY naleznete v tématu Přímé spuštění příkazu a připravené spuštění příkazu v ovladači PDO_SQLSRV.
Zpracování číselných načtení
Atribut PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE lze použít ke zpracování číselných načtení ze sloupců s číselnými typy SQL (bit, celé číslo, smallint, tinyint, float a real). Pokud je PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE nastaveno na hodnotu true, výsledky z celočíselného sloupce jsou reprezentovány jako inty, zatímco SQL floaty a reálná čísla jsou reprezentovány jako floaty. Tento atribut lze nastavit pomocí pdOStatement::setAttribute.
Výchozí chování formátování desetinných míst můžete upravit pomocí atributů PDO::SQLSRV_ATTR_FORMAT_DECIMALS a PDO::SQLSRV_ATTR_DECIMAL_PLACES. Chování těchto atributů je shodné s odpovídajícími možnostmi na straně SQLSRV (FormatDecimals a DecimalPlaces), s výjimkou toho, že výstupní parametry nejsou podporovány pro formátování. Tyto atributy mohou být nastaveny na úrovni připojení nebo příkazu pomocí pdO::setAttribute nebo PDOStatement::setAttribute, ale jakýkoli atribut příkazu přepíše odpovídající atribut připojení. Další podrobnosti najdete v tématu Formátování desetinných řetězců a hodnot peněz (PDO_SQLSRV driver).
Zpracování načítání data a času
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE určuje, zda mají být načteny typy data a času jako objekty PHP DateTime. Pokud zůstane hodnota nepravdivá, výchozí chování je vrátit je jako řetězce. Tento atribut může být nastaven na úrovni připojení nebo příkazu pomocí pdO::setAttribute nebo PDOStatement::setAttribute, ale atribut příkazu přepíše odpovídající atribut připojení. Další informace naleznete v tématu Postupy: Načtení typů data a času jako objekty PHP DateTime pomocí ovladače PDO_SQLSRV.
Konstanty ovladače SQLSRV
Následující části uvádějí konstanty používané ovladačem SQLSRV.
Konstanty ERR
Následující tabulka uvádí konstanty, které se používají k určení, jestli sqlsrv_errors vrací chyby, upozornění nebo obojí.
| Hodnota | Description |
|---|---|
| SQLSRV_ERR_ALL | Vrátí se chyby a upozornění vygenerovaná při posledním volání funkce sqlsrv . Toto je výchozí hodnota. |
| SQLSRV_ERR_ERRORS | Vrátí se chyby vygenerované při posledním volání funkce sqlsrv . |
| SQLSRV_ERR_WARNINGS | Vrátí se upozornění vygenerovaná při posledním volání funkce sqlsrv . |
FETCH – konstanty
V následující tabulce jsou uvedeny konstanty, které slouží k určení typu pole vrácené sqlsrv_fetch_array.
| Konstanta SQLSRV | Description |
|---|---|
| SQLSRV_FETCH_ASSOC | sqlsrv_fetch_array vrátí další řádek dat jako asociativní pole. |
| SQLSRV_FETCH_BOTH | sqlsrv_fetch_array vrátí další řádek dat jako pole s číselnými i asociativními klíči. Toto je výchozí hodnota. |
| SQLSRV_FETCH_NUMERIC | sqlsrv_fetch_array vrátí další řádek dat jako číselně indexované pole. |
Logování konstant
Tato část uvádí konstanty, které se používají ke změně nastavení protokolování pomocí sqlsrv_configure. Další informace o aktivitě protokolování najdete v tématu Aktivita protokolování.
Následující tabulka uvádí konstanty, které lze použít jako hodnotu pro nastavení LogSubsystems :
| Konstanta SQLSRV (celočíselná ekvivalent v závorkách) | Description |
|---|---|
| SQLSRV_LOG_SYSTEM_ALL (-1) | Zapne protokolování všech subsystémů. |
| SQLSRV_LOG_SYSTEM_CONN (2) | Zapne protokolování aktivity připojení. |
| SQLSRV_LOG_SYSTEM_INIT (1) | Zapne protokolování inicializační aktivity. |
| SQLSRV_LOG_SYSTEM_OFF (0) | Vypne protokolování. |
| SQLSRV_LOG_SYSTEM_STMT (4) | Zapne protokolování aktivity příkazů. |
| SQLSRV_LOG_SYSTEM_UTIL (8) | Zapne protokolování aktivity chybových funkcí (například handle_error a handle_warning). |
Následující tabulka uvádí konstanty, které lze použít jako hodnotu pro nastavení LogSeverity :
| Konstanta SQLSRV (celočíselná ekvivalent v závorkách) | Description |
|---|---|
| SQLSRV_LOG_SEVERITY_ALL (-1) | Určuje, že se budou protokolovat chyby, varování a oznámení. |
| SQLSRV_LOG_SEVERITY_ERROR (1) | Určuje, že se budou protokolovat chyby. |
| SQLSRV_LOG_SEVERITY_NOTICE (4) | Určuje, že se budou protokolovat oznámení. |
| SQLSRV_LOG_SEVERITY_WARNING (2) | Určuje, že se budou protokolovat upozornění. |
Konstanty s možnou hodnotou null
Následující tabulka uvádí konstanty, které můžete použít k určení, zda sloupec má hodnotu null nebo jestli tyto informace nejsou k dispozici. Můžete porovnat hodnotu klíče Nulovatelný vrácenou sqlsrv_field_metadata k určení, zda je sloupec nulovatelný.
| Konstanta SQLSRV (celočíselná ekvivalent v závorkách) | Description |
|---|---|
| SQLSRV_NULLABLE_YES (0) | Sloupec má hodnotu null. |
| SQLSRV_NULLABLE_NO (1) | Sloupec nemůže mít hodnotu null. |
| SQLSRV_NULLABLE_UNKNOWN (2) | Není známo, jestli je sloupec nulovatelný. |
Konstanty PARAM
Následující seznam obsahuje konstanty pro určení směru parametru při volání sqlsrv_query nebo sqlsrv_prepare.
| Konstanta SQLSRV | Description |
|---|---|
| SQLSRV_PARAM_IN | Označuje vstupní parametr. |
| SQLSRV_PARAM_INOUT | Označuje obousměrný parametr. |
| SQLSRV_PARAM_OUT | Označuje výstupní parametr. |
PHPTYPE – konstanty
Následující tabulka uvádí konstanty, které slouží k popisu datových typů PHP. Informace o datových typech PHP naleznete v tématu Typy PHP.
| Konstanta SQLSRV | Datový typ PHP |
|---|---|
| SQLSRV_PHPTYPE_INT | Integer |
| SQLSRV_PHPTYPE_DATETIME | Datum a čas |
| SQLSRV_PHPTYPE_FLOAT | Plovat |
| SQLSRV_PHPTYPE_STREAM($encoding1) | Stream |
| SQLSRV_PHPTYPE_STRING($encoding1) | String |
- SQLSRV_PHPTYPE_STREAM a SQLSRV_PHPTYPE_STRING přijmout parametr, který určuje kódování datového proudu. Následující tabulka obsahuje konstanty SQLSRV, které jsou přijatelné parametry, a popis odpovídajícího kódování.
| Konstanta SQLSRV | Description |
|---|---|
| SQLSRV_ENC_BINARY | Data se vrátí jako nezpracovaný bajtový stream ze serveru bez nutnosti kódování nebo překladu. |
| SQLSRV_ENC_CHAR | Data se vrací v 8bitových znacích podle kódové stránky místního nastavení systému Windows, které je nastaveno v systému. Všechny vícebajtové znaky nebo znaky, které nelze namapovat na tuto znakovou stránku, se nahradí jednobajtovým otazníkem (?). Toto je výchozí kódování. |
| "UTF-8" | Data se vrátí v kódování UTF-8. Tato konstanta byla přidána ve verzi 1.1 ovladačů Microsoft pro PHP pro SQL Server. Další informace o podpoře UTF-8 naleznete v tématu Postupy: Odesílání a načítání dat UTF-8 pomocí Built-In podpora UTF-8. |
Poznámka:
Pokud používáte SQLSRV_PHPTYPE_STREAM nebo SQLSRV_PHPTYPE_STRING, musí být zadáno kódování. Pokud není zadán žádný parametr, vrátí se chyba.
Další informace o těchto konstantách naleznete v tématu Postupy: Určení datových typů PHP, Postupy: Načtení znakových dat jako datového proudu pomocí ovladače SQLSRV.
Konstanty SQLTYPE
Následující tabulka uvádí konstanty, které slouží k popisu datových typů SQL Serveru. Některé konstanty jsou podobné funkcím a mohou přijímat parametry, které odpovídají přesnosti, měřítku a/nebo délce. Při vazbě parametrů by se měly použít konstanty podobné funkci. Pro porovnávání typů se vyžadují standardní konstanty (nefunkčně podobné). Informace o datových typech SQL Serveru naleznete v tématu Datové typy (Transact-SQL). Informace o přesnosti, měřítku a délce naleznete v tématu Přesnost, Měřítko a Délka (Transact-SQL).
| Konstanta SQLSRV | Datový typ SQL Serveru |
|---|---|
| SQLSRV_SQLTYPE_BIGINT | bigint |
| SQLSRV_SQLTYPE_BINARY | binární |
| SQLSRV_SQLTYPE_BIT | bit |
| SQLSRV_SQLTYPE_CHAR | char5 |
| SQLSRV_SQLTYPE_CHAR($charCount) | char |
| SQLSRV_SQLTYPE_DATE | datum4 |
| SQLSRV_SQLTYPE_DATETIME | datetime |
| SQLSRV_SQLTYPE_DATETIME2 | datetime24 |
| SQLSRV_SQLTYPE_DATETIMEOFFSET | datetimeoffset4 |
| SQLSRV_SQLTYPE_DECIMAL | desetinné číslo5 |
| SQLSRV_SQLTYPE_DECIMAL($precision; $scale) | desítkové číslo |
| SQLSRV_SQLTYPE_FLOAT | float |
| SQLSRV_SQLTYPE_IMAGE | obrázek1 |
| SQLSRV_SQLTYPE_INT | int |
| SQLSRV_SQLTYPE_MONEY | peníze |
| SQLSRV_SQLTYPE_NCHAR | nchar5 |
| SQLSRV_SQLTYPE_NCHAR($charCount) | nchar |
| SQLSRV_SQLTYPE_NUMERIC | číslo5 |
| SQLSRV_SQLTYPE_NUMERIC($precision; $scale) | číselný |
| SQLSRV_SQLTYPE_NVARCHAR | nvarchar5 |
| 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 | drobné peníze |
| SQLSRV_SQLTYPE_TEXT | text3 |
| SQLSRV_SQLTYPE_TIME | čas4 |
| SQLSRV_SQLTYPE_TIMESTAMP | časové razítko |
| SQLSRV_SQLTYPE_TINYINT | tinyint |
| SQLSRV_SQLTYPE_UNIQUEIDENTIFIER | uniqueidentifier |
| SQLSRV_SQLTYPE_UDT | UDT |
| SQLSRV_SQLTYPE_VARBINARY | varbinary5 |
| SQLSRV_SQLTYPE_VARBINARY($byteCount) | varbinary |
| SQLSRV_SQLTYPE_VARBINARY('max') | varbinary(MAX) |
| SQLSRV_SQLTYPE_VARCHAR | varchar5 |
| SQLSRV_SQLTYPE_VARCHAR($charCount) | Varchar |
| SQLSRV_SQLTYPE_VARCHAR('max') | varchar(MAX) |
| SQLSRV_SQLTYPE_XML | xml |
Toto je starší datový typ, který se mapuje na datový typ varbinary(max).
Toto je starší typ, který se mapuje na novější typ nvarchar.
Toto je starší typ, který se mapuje na novější databázový typ varchar.
Podpora pro tento typ byla přidána ve verzi 1.1 ovladačů Microsoft pro PHP pro SQL Server.
Tyto konstanty by se měly používat v operacích porovnání typů a neměly by být nahrazovány konstantami podobnými funkcím s podobnou syntaxí. U parametrů vazby byste měli použít konstanty podobné funkci.
Následující tabulka uvádí konstanty SQLTYPE, které přijímají parametry a rozsah hodnot povolených pro parametr.
| SQLTYPE | Parameter | Povolený rozsah pro parametr |
|---|---|---|
| SQLSRV_SQLTYPE_CHAR, SQLSRV_SQLTYPE_VARCHAR |
počet znaků | 1 - 8000 |
| SQLSRV_SQLTYPE_NCHAR, SQLSRV_SQLTYPE_NVARCHAR |
počet znaků | 1 - 4000 |
| SQLSRV_SQLTYPE_BINARY, SQLSRV_SQLTYPE_VARBINARY |
Bytecount | 1 - 8000 |
| SQLSRV_SQLTYPE_DECIMAL SQLSRV_SQLTYPE_NUMERIC |
přesnost | 1 - 38 |
| SQLSRV_SQLTYPE_DECIMAL, SQLSRV_SQLTYPE_NUMERIC |
škálování | 1 – přesnost |
Konstanty na úrovni izolace transakcí
Klíč TransactionIsolation , který se používá s sqlsrv_connect, přijímá jednu z následujících konstant:
SQLSRV_TXN_READ_UNCOMMITTED
SQLSRV_TXN_READ_COMMITTED
SQLSRV_TXN_REPEATABLE_READ
SQLSRV_TXN_SNAPSHOT
SQLSRV_TXN_SERIALIZABLE
Konstanty kurzoru a posouvání
Následující konstanty určují typ kurzoru, který můžete použít v sadě výsledků:
SQLSRV_CURSOR_FORWARD
SQLSRV_CURSOR_STATIC
SQLSRV_CURSOR_DYNAMIC
SQLSRV_CURSOR_KEYSET
SQLSRV_CURSOR_CLIENT_BUFFERED
Následující konstanty určují, který řádek se má vybrat v sadě výsledků:
SQLSRV_SCROLL_NEXT
SQLSRV_SCROLL_PRIOR
SQLSRV_SCROLL_FIRST
SQLSRV_SCROLL_LAST
SQLSRV_SCROLL_ABSOLUTE
SQLSRV_SCROLL_RELATIVE
Informace o používání těchto konstant naleznete v tématu Určení typu kurzoru a výběru řádků.