Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez a témakör az SQL Serverhez készült PHP-hez készült Microsoft Drivers által meghatározott állandókat ismerteti.
PDO_SQLSRV illesztőprogram-állandók
Az PDO webhelyén felsorolt állandók érvényesek a Microsoft Drivers for PHP for SQL Serverhez készült PHP-illesztőprogramokban.
Az alábbiakban az PDO_SQLSRV illesztőprogram Microsoft-specifikus állandóit ismertetjük.
Tranzakcióelkülönítési szint állandói
A TransactionIsolation kulcs, amelyet a PDO::__construct használ, a következő állandók egyikét támogatja:
Oem::SQLSRV_TXN_READ_UNCOMMITTED
Oem::SQLSRV_TXN_READ_COMMITTED
PDO::SQLSRV_TXN_REPEATABLE_READ
PDO::SQLSRV_TXN_SNAPSHOT
PDO::SQLSRV_TXN_SERIALIZABLE
A TransactionIsolation kulccsal kapcsolatos további információkért tekintse meg a Kapcsolat beállításai című témakört.
Kódolási állandók
Az PDO::SQLSRV_ATTR_ENCODING attribútum átadható a PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn és PDOStatement::bindParam.
A PDO::SQLSRV_ATTR_ENCODING számára átadható értékek a következők:
| PDO_SQLSRV illesztőprogram-állandó | Description |
|---|---|
| PDO::SQLSRV_ENCODING_BINARY | Az adatok nyers bájtfolyamok a kiszolgálóról kódolás vagy fordítás nélkül. Nem érvényes a PDO::setAttribute számára. |
| PDO::SQLSRV_ENCODING_SYSTEM | Az adatok a rendszeren beállított Windows területi beállítás kódlapján megadott 8 bites karakterek. Minden többszörös bájtos karakter vagy karakter, amely nem illeszkedik ebbe a kódlapba, egyszimple bájtos kérdőjellel (?) lesz helyettesítve. |
| PDO::SQLSRV_ENCODING_UTF8 | Az adatok az UTF-8 kódolásban találhatóak. Ez az alapértelmezett kódolás. |
| PDO::SQLSRV_ENCODING_DEFAULT | A PDO::SQLSRV_ENCODING_SYSTEM-t használja, ha a kapcsolat során meg van adva. Használja a kapcsolat kódolását, ha egy előkészítési utasításban van megadva. |
Lekérdezés időkorlátja
A PDO::SQLSRV_ATTR_QUERY_TIMEOUT attribútum bármely nem negatív egész szám, amely másodpercben jelöli az időtúllépési időszakot. A nulla (0) az alapértelmezett érték, és azt jelenti, hogy nincs időtúllépés.
Megadhatja a PDO::SQLSRV_ATTR_QUERY_TIMEOUT attribútumot a PDOStatement::setAttribute, PDO::setAttribute vagy PDO::prepare attribútumokkal.
Közvetlen vagy előkészített végrehajtás
Kiválaszthatja a közvetlen lekérdezés-végrehajtást vagy az előkészített utasítás-végrehajtást a PDO::SQLSRV_ATTR_DIRECT_QUERY attribútummal. PDO::SQLSRV_ATTR_DIRECT_QUERY beállítható a PDO::prepare vagy a PDO::setAttribute használatával. További információért a PDO::SQLSRV_ATTR_DIRECT_QUERY attribútumról lásd: Közvetlen utasítás-végrehajtás és előkészített utasítás végrehajtása a PDO_SQLSRV illesztőprogramban.
Numerikus lekérések kezelése
A PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE attribútum numerikus SQL-típusokkal (bit, integer, smallint, tinyint, float és real) rendelkező oszlopok numerikus lekéréseinek kezelésére használható. Ha a PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE értéke igaz, az egész szám oszlopból származó eredmények integerként jelennek meg, míg az SQL lebegőpontos számok és valós értékek floatként jelennek meg. Ez az attribútum a PDOStatement::setAttribute beállítással állítható be.
Az alapértelmezett decimális formázási viselkedést az OEM::SQLSRV_ATTR_FORMAT_DECIMALS és az OEM::SQLSRV_ATTR_DECIMAL_PLACES attribútumokkal módosíthatja. Ezeknek az attribútumoknak a viselkedése megegyezik az SQLSRV oldal megfelelő beállításaival (FormatDecimals és DecimalPlaces), azzal a kivételsel, hogy a kimeneti paramok formázása nem támogatott. Ezek az attribútumok a kapcsolat vagy az utasítás szintjén állíthatók be a PDO::setAttribute vagy a PDOStatement::setAttribute metódusokkal, de bármely utasításattribútum felülírja a megfelelő kapcsolat attribútumot. További részletekért lásd: Decimális sztringek és pénzértékek formázása (PDO_SQLSRV illesztő).
Dátum- és időbeolvasások kezelése
Az oem::SQLSRV_ATTR_FETCHES_DATETIME_TYPE megadja, hogy a dátum- és időtípusokat PHP DateTime-objektumként kell-e lekérni. Ha hamis marad, az alapértelmezett viselkedés az, hogy sztringként adja vissza őket. Ez az attribútum a kapcsolat vagy az utasítás szintjén állítható be a PDO::setAttribute vagy PDOStatement::setAttribute segítségével, de az utasítás szintű attribútum felülírja a megfelelő kapcsolat szintű attribútumot. További információ : Dátum- és időtípusok lekérése PHP DateTime-objektumként az PDO_SQLSRV illesztőprogram használatával.
SQLSRV illesztőprogram-állandók
Az alábbi szakaszok az SQLSRV-illesztő által használt állandókat sorolják fel.
ERR-állandók
Az alábbi táblázat felsorolja azokat az állandókat, amelyek alapján megadhatja, hogy sqlsrv_errors hibákat, figyelmeztetéseket vagy mindkettőt ad vissza.
| Érték | Description |
|---|---|
| SQLSRV_ERR_ALL | A rendszer az sqlsrv függvény legutóbbi hívása során generált hibákat és figyelmeztetéseket adja vissza. Ez az alapértelmezett érték. |
| SQLSRV_ERR_ERRORS | A rendszer az sqlsrv függvény legutóbbi hívása során generált hibákat adja vissza. |
| SQLSRV_ERR_WARNINGS | A rendszer az sqlsrv függvény legutóbbi hívása során generált figyelmeztetéseket adja vissza. |
FETCH-állandók
Az alábbi táblázat azokat az állandókat sorolja fel, amelyek a sqlsrv_fetch_array által visszaadott tömb típusának megadására szolgálnak.
| SQLSRV-állandó | Description |
|---|---|
| SQLSRV_FETCH_ASSOC | sqlsrv_fetch_array asszociatív tömbként adja vissza a következő adatsort. |
| SQLSRV_FETCH_BOTH | sqlsrv_fetch_array numerikus és asszociatív kulcsokkal rendelkező tömbként adja vissza a következő adatsort. Ez az alapértelmezett érték. |
| SQLSRV_FETCH_NUMERIC | sqlsrv_fetch_array numerikus indexelt tömbként adja vissza a következő adatsort. |
Naplózási állandók
Ez a szakasz azokat az állandókat sorolja fel, amelyek a naplózási beállítások sqlsrv_configure használatával történő módosítására szolgálnak. A naplózási tevékenységről további információt a Naplózási tevékenység című témakörben talál.
Az alábbi táblázat a LogSubsystems beállítás értékeként használható állandókat sorolja fel:
| SQLSRV-állandó (egész szám egyenértékű zárójelben) | Description |
|---|---|
| SQLSRV_LOG_SYSTEM_ALL (-1) | Bekapcsolja az összes alrendszer naplózását. |
| SQLSRV_LOG_SYSTEM_CONN (2) | Bekapcsolja a kapcsolati tevékenység naplózását. |
| SQLSRV_LOG_SYSTEM_INIT (1) | Bekapcsolja az inicializálási tevékenység naplózását. |
| SQLSRV_LOG_SYSTEM_OFF (0) | Kikapcsolja a naplózást. |
| SQLSRV_LOG_SYSTEM_STMT (4) | Bekapcsolja az utasítástevékenység naplózását. |
| SQLSRV_LOG_SYSTEM_UTIL (8) | Bekapcsolja a hibakezelési függvények (mint például handle_error és handle_warning) naplózását. |
Az alábbi táblázat a LogSeverity beállítás értékeként használható állandókat sorolja fel:
| SQLSRV-állandó (egész szám egyenértékű zárójelben) | Description |
|---|---|
| SQLSRV_LOG_SEVERITY_ALL (-1) | Megadja, hogy a rendszer naplózza a hibákat, figyelmeztetéseket és értesítéseket. |
| SQLSRV_LOG_SEVERITY_ERROR (1) | Megadja, hogy a rendszer naplózza a hibákat. |
| SQLSRV_LOG_SEVERITY_NOTICE (4) | Megadja, hogy a rendszer naplózza az értesítéseket. |
| SQLSRV_LOG_SEVERITY_WARNING (2) | Megadja, hogy a rendszer naplózza a figyelmeztetéseket. |
Null értékű állandók
Az alábbi táblázat felsorolja azokat az állandókat, amelyekkel megállapíthatja, hogy egy oszlop null értékű-e, vagy hogy ezek az információk nem érhetők-e el. Összehasonlíthatja a sqlsrv_field_metadata által visszaadott Nullable kulcs értékét az oszlop null értékű állapotának meghatározásához.
| SQLSRV-állandó (egész szám egyenértékű zárójelben) | Description |
|---|---|
| SQLSRV_NULLABLE_YES (0) | Az oszlop null értékű. |
| SQLSRV_NULLABLE_NO (1) | Az oszlop nem lehet null értékű. |
| SQLSRV_NULLABLE_UNKNOWN (2) | Nem ismert, hogy az oszlop null értékű-e. |
PARAM-állandók
Az alábbi lista a paraméter irányának megadására szolgáló állandókat tartalmazza, amikor meghívja sqlsrv_query vagy sqlsrv_prepare.
| SQLSRV állandó | Description |
|---|---|
| SQLSRV_PARAM_IN | Bemeneti paramétert jelez. |
| SQLSRV_PARAM_INOUT | Kétirányú paramétert jelez. |
| SQLSRV_PARAM_OUT | Kimeneti paramétert jelez. |
PHPTYPE-állandók
Az alábbi táblázat a PHP-adattípusok leírására használt állandókat sorolja fel. A PHP-adattípusokról további információt a PHP-típusok című témakörben talál.
| SQLSRV állandó | PHP-adattípus |
|---|---|
| SQLSRV_PHPTYPE_INT | Egész szám |
| SQLSRV_PHPTYPE_DATETIME | Dátum és idő |
| SQLSRV_PHPTYPE_FLOAT | Lebegés |
| SQLSRV_PHPTYPE_STREAM($encoding1) | Stream |
| SQLSRV_PHPTYPE_STRING($encoding1) | Lánc |
- SQLSRV_PHPTYPE_STREAM és SQLSRV_PHPTYPE_STRING fogadja el a stream kódolását meghatározó paramétert. Az alábbi táblázat az elfogadható paramétereket tartalmazó SQLSRV-állandókat és a megfelelő kódolás leírását tartalmazza.
| SQLSRV állandó | Description |
|---|---|
| SQLSRV_ENC_BINARY | A rendszer nyers bájtfolyamként adja vissza az adatokat a kiszolgálóról kódolás vagy fordítás nélkül. |
| SQLSRV_ENC_CHAR | Az adatok a rendszeren beállított Windows-területi beállítás kódlapján megadott 8 bites karakterekben lesznek visszaadva. Minden többszörös bájtos karakter vagy karakter, amely nem illeszkedik ebbe a kódlapba, egyszimple bájtos kérdőjellel (?) lesz helyettesítve. Ez az alapértelmezett kódolás. |
| "UTF-8" | Az adatok az UTF-8 kódolásban lesznek visszaadva. Ez az állandó az SQL Serverhez készült MICROSOFT Drivers for PHP 1.1-es verziójában lett hozzáadva. További információ az UTF-8 támogatásáról : Útmutató: UTF-8-adatok küldése és lekérése Built-In UTF-8-támogatással. |
Megjegyzés:
Ha SQLSRV_PHPTYPE_STREAM vagy SQLSRV_PHPTYPE_STRING használ, meg kell adni a kódolást. Ha nincs megadva paraméter, a rendszer hibát ad vissza.
További információ ezekről az állandókról : Útmutató: PHP-adattípusok megadása, Hogyan: Karakteradatok lekérése streamként az SQLSRV-illesztőprogram használatával.
SQLTYPE-állandók
Az alábbi táblázat az SQL Server-adattípusok leírásához használt állandókat sorolja fel. Egyes állandók függvényszerűek, és olyan paramétereket is tartalmazhatnak, amelyek megfelelnek a pontosságnak, a skálázásnak és/vagy a hossznak. A kötési paramétereknél a függvényszerű állandókat kell használni. A típus-összehasonlításokhoz a standard (nem függvényszerű) állandókra van szükség. Az SQL Server adattípusairól további információt az Adattípusok (Transact-SQL) című témakörben talál. A pontosságról, a skálázásról és a hosszról további információt a Pontosság, a Méretezés és a Hossz (Transact-SQL) című témakörben talál.
| SQLSRV-állandó | SQL Server-adattípus |
|---|---|
| SQLSRV_SQLTYPE_BIGINT | bigint |
| SQLSRV_SQLTYPE_BINARY | bináris |
| SQLSRV_SQLTYPE_BIT | bit |
| SQLSRV_SQLTYPE_CHAR | karakter 5 |
| SQLSRV_SQLTYPE_CHAR($charCount) | char |
| SQLSRV_SQLTYPE_DATE | dátum4 |
| SQLSRV_SQLTYPE_DATETIME | datetime |
| SQLSRV_SQLTYPE_DATETIME2 | datetime24 |
| SQLSRV_SQLTYPE_DATETIMEOFFSET | datetimeoffset4 |
| SQLSRV_SQLTYPE_DECIMAL | decimális5 |
| SQLSRV_SQLTYPE_DECIMAL($precision, $scale) | decimális |
| SQLSRV_SQLTYPE_FLOAT | float |
| SQLSRV_SQLTYPE_IMAGE | kép1 |
| SQLSRV_SQLTYPE_INT | int |
| SQLSRV_SQLTYPE_MONEY | pénz |
| SQLSRV_SQLTYPE_NCHAR | nchar5 |
| SQLSRV_SQLTYPE_NCHAR($charCount) | nchar |
| SQLSRV_SQLTYPE_NUMERIC | numerikus5 |
| SQLSRV_SQLTYPE_NUMERIC($precision, $scale) | Numerikus |
| SQLSRV_SQLTYPE_NVARCHAR | nvarchar5 |
| SQLSRV_SQLTYPE_NVARCHAR($charCount) | nvarchar |
| SQLSRV_SQLTYPE_NVARCHAR('max') | nvarchar(MAX) |
| SQLSRV_SQLTYPE_NTEXT | ntext2 |
| SQLSRV_SQLTYPE_REAL | valódi |
| SQLSRV_SQLTYPE_SMALLDATETIME | smalldatetime |
| SQLSRV_SQLTYPE_SMALLINT | smallint |
| SQLSRV_SQLTYPE_SMALLMONEY | aprópénz |
| SQLSRV_SQLTYPE_TEXT | szöveg3 |
| SQLSRV_SQLTYPE_TIME | idő4 |
| SQLSRV_SQLTYPE_TIMESTAMP | timestamp |
| 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 |
Ez egy öröklött típus, amely a varbinary(max) típusra van leképezve.
Ez egy örökölt típus, amely az újabb nvarchar típushoz van hozzárendelve.
Ez egy örökölt típus, amely az újabb varchar típusra van leképeződve.
Ehhez a típushoz a Microsoft Drivers for PHP for SQL Server 1.1-es verziójában adták hozzá a támogatást.
Ezeket az állandókat típus-összehasonlító műveletekben kell használni, és a függvényszerű állandókat ne cserélje le hasonló szintaxisra. Kötési paraméterek esetén a függvényszerű állandókat kell használnia.
Az alábbi táblázat felsorolja a paramétereket elfogadó SQLTYPE-állandókat és a paraméter számára engedélyezett értéktartományt.
| SQLTYPE | Paraméter | Paraméter engedélyezett tartománya |
|---|---|---|
| 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 |
pontosság | 1 - 38 |
| SQLSRV_SQLTYPE_DECIMAL SQLSRV_SQLTYPE_NUMERIC |
méret | 1 – pontosság |
Tranzakcióelkülönítési szint állandói
A sqlsrv_connect használt TransactionIsolation kulcs az alábbi állandók egyikét fogadja el:
SQLSRV_TXN_READ_UNCOMMITTED
SQLSRV_TXN_READ_COMMITTED
SQLSRV_TXN_REPEATABLE_READ
SQLSRV_TXN_SNAPSHOT
SQLSRV_TXN_SERIALIZABLE
Kurzor és görgetési állandók
Az alábbi állandók határozzák meg az eredményhalmazban használható kurzortípust:
SQLSRV_CURSOR_FORWARD
SQLSRV_CURSOR_STATIC
SQLSRV_CURSOR_DYNAMIC
SQLSRV_CURSOR_KEYSET
SQLSRV_CURSOR_CLIENT_BUFFERED
Az alábbi állandók határozzák meg, hogy melyik sort válassza ki az eredményhalmazban:
SQLSRV_SCROLL_NEXT
SQLSRV_SCROLL_PRIOR
SQLSRV_SCROLL_FIRST
SQLSRV_SCROLL_LAST
SQLSRV_SCROLL_ABSOLUTE
SQLSRV_SCROLL_RELATIVE
Az állandók használatáról további információt a Kurzor típusának megadása és a Sorok kijelölése című témakörben talál.