Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Topik ini membahas konstanta yang ditentukan oleh Microsoft Drivers untuk PHP untuk SQL Server.
PDO_SQLSRV Konstanta Driver
Konstanta yang tercantum di situs web PDO valid di Microsoft Drivers untuk PHP untuk SQL Server.
Berikut ini menjelaskan konstanta khusus Microsoft di driver PDO_SQLSRV.
Konstanta Tingkat Isolasi Transaksi
Kunci TransactionIsolation , yang digunakan dengan PDO::__construct, menerima salah satu konstanta berikut:
PDO::SQLSRV_TXN_READ_UNCOMMITTED
PDO::SQLSRV_TXN_READ_COMMITTED
PDO::SQLSRV_TXN_REPEATABLE_READ
PDO::SQLSRV_TXN_SNAPSHOT
PDO::SQLSRV_TXN_SERIALIZABLE
Untuk informasi selengkapnya tentang kunci TransactionIsolation , lihat Opsi Koneksi.
Konstanta Pengodean
Atribut PDO::SQLSRV_ATTR_ENCODING dapat diteruskan ke PDOStatement::setAttribute, PDO::setAttribute, PDO::p repare, PDOStatement::bindColumn, dan PDOStatement::bindParam.
Nilai yang tersedia untuk diteruskan ke PDO::SQLSRV_ATTR_ENCODING adalah
| PDO_SQLSRV konstanta driver | Deskripsi |
|---|---|
| PDO::SQLSRV_ENCODING_BINARY | Data adalah aliran byte mentah dari server tanpa melakukan pengodean atau terjemahan. Tidak valid untuk PDO::setAttribute. |
| PDO::SQLSRV_ENCODING_SYSTEM | Data adalah karakter 8-bit seperti yang ditentukan di halaman kode lokal Windows yang diatur pada sistem. Setiap karakter atau karakter multi-byte yang tidak dipetakan ke halaman kode ini diganti dengan karakter tanda tanya byte tunggal (?). |
| PDO::SQLSRV_ENCODING_UTF8 | Data berada dalam pengodean UTF-8. Ini adalah pengodean default. |
| PDO::SQLSRV_ENCODING_DEFAULT | Menggunakan PDO::SQLSRV_ENCODING_SYSTEM jika ditentukan selama koneksi. Gunakan pengodean koneksi jika ditentukan dalam pernyataan persiapan. |
Waktu Habis Kueri
Atribut PDO::SQLSRV_ATTR_QUERY_TIMEOUT adalah bilangan bulat non-negatif yang mewakili periode batas waktu, dalam hitungan detik. Nol (0) adalah default dan berarti tidak ada batas waktu.
Anda dapat menentukan atribut PDO::SQLSRV_ATTR_QUERY_TIMEOUT dengan PDOStatement::setAttribute, PDO::setAttribute, dan PDO::p repare.
Eksekusi Langsung atau Disiapkan
Anda dapat memilih eksekusi kueri langsung atau eksekusi pernyataan yang disiapkan dengan atribut PDO::SQLSRV_ATTR_DIRECT_QUERY. PDO::SQLSRV_ATTR_DIRECT_QUERY dapat diatur dengan PDO::p repare atau PDO::setAttribute. Untuk informasi selengkapnya tentang PDO::SQLSRV_ATTR_DIRECT_QUERY, lihat Eksekusi Pernyataan Langsung dan Eksekusi Pernyataan yang Disiapkan di Driver PDO_SQLSRV.
Menangani Pengambilan Numerik
Atribut PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE dapat digunakan untuk menangani pengambilan numerik dari kolom dengan jenis SQL numerik (bit, bilangan bulat, kecil, kecil, float, dan nyata). Ketika PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE diatur ke true, hasil dari kolom bilangan bulat direpresentasikan sebagai ints, sementara float SQL dan real direpresentasikan sebagai float. Atribut ini dapat diatur dengan PDOStatement::setAttribute.
Anda dapat mengubah perilaku pemformatan desimal default dengan atribut PDO::SQLSRV_ATTR_FORMAT_DECIMALS dan PDO::SQLSRV_ATTR_DECIMAL_PLACES. Perilaku atribut ini identik dengan opsi yang sesuai di sisi SQLSRV (FormatDecimals dan DecimalPlaces), kecuali bahwa param output tidak didukung untuk pemformatan. Atribut ini dapat diatur pada tingkat koneksi atau pernyataan dengan PDO::setAttribute atau PDOStatement::setAttribute, tetapi atribut pernyataan apa pun akan menimpa atribut koneksi yang sesuai. Untuk detail selengkapnya, lihat Memformat String Desimal dan Nilai Uang (driver PDO_SQLSRV).
Menangani Pengambilan Tanggal dan Waktu
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE menentukan apakah akan mengambil jenis tanggal dan waktu sebagai objek DateTime PHP. Jika dibiarkan false, perilaku defaultnya adalah mengembalikannya sebagai string. Atribut ini dapat diatur pada tingkat koneksi atau pernyataan dengan PDO::setAttribute atau PDOStatement::setAttribute, tetapi atribut pernyataan akan mengambil alih atribut koneksi yang sesuai. Untuk informasi selengkapnya, lihat Cara: Mengambil Jenis Tanggal dan Waktu sebagai Objek DateTime PHP Menggunakan Driver PDO_SQLSRV.
Konstanta Driver SQLSRV
Bagian berikut mencantumkan konstanta yang digunakan oleh driver SQLSRV.
Konstanta ERR
Tabel berikut mencantumkan konstanta yang digunakan untuk menentukan apakah sqlsrv_errors mengembalikan kesalahan, peringatan, atau keduanya.
| Nilai | Deskripsi |
|---|---|
| SQLSRV_ERR_ALL | Kesalahan dan peringatan yang dihasilkan pada panggilan fungsi sqlsrv terakhir dikembalikan. Ini adalah nilai default. |
| SQLSRV_ERR_ERRORS | Kesalahan yang dihasilkan pada panggilan fungsi sqlsrv terakhir dikembalikan. |
| SQLSRV_ERR_WARNINGS | Peringatan yang dihasilkan pada panggilan fungsi sqlsrv terakhir dikembalikan. |
Konstanta FETCH
Tabel berikut mencantumkan konstanta yang digunakan untuk menentukan jenis array yang dikembalikan oleh sqlsrv_fetch_array.
| Konstanta SQLSRV | Deskripsi |
|---|---|
| SQLSRV_FETCH_ASSOC | sqlsrv_fetch_array mengembalikan baris data berikutnya sebagai array asosiatif. |
| SQLSRV_FETCH_BOTH | sqlsrv_fetch_array mengembalikan baris data berikutnya sebagai array dengan kunci numerik dan asosiatif. Ini adalah nilai default. |
| SQLSRV_FETCH_NUMERIC | sqlsrv_fetch_array mengembalikan baris data berikutnya sebagai array yang diindeks secara numerik. |
Konstanta Pengelogan
Bagian ini mencantumkan konstanta yang digunakan untuk mengubah pengaturan pengelogan dengan sqlsrv_configure. Untuk informasi selengkapnya tentang aktivitas pengelogan, lihat Aktivitas Pengelogan.
Tabel berikut mencantumkan konstanta yang dapat digunakan sebagai nilai untuk pengaturan LogSubsystems :
| Konstanta SQLSRV (bilangan bulat setara dalam tanda kurung) | Deskripsi |
|---|---|
| SQLSRV_LOG_SYSTEM_ALL (-1) | Mengaktifkan pengelogan semua subsistem. |
| SQLSRV_LOG_SYSTEM_CONN (2) | Mengaktifkan pengelogan aktivitas koneksi. |
| SQLSRV_LOG_SYSTEM_INIT (1) | Mengaktifkan pengelogan aktivitas inisialisasi. |
| SQLSRV_LOG_SYSTEM_OFF (0) | Menonaktifkan pengelogan. |
| SQLSRV_LOG_SYSTEM_STMT (4) | Mengaktifkan pengelogan aktivitas pernyataan. |
| SQLSRV_LOG_SYSTEM_UTIL (8) | Mengaktifkan pengelogan aktivitas fungsi kesalahan (seperti handle_error dan handle_warning). |
Tabel berikut mencantumkan konstanta yang dapat digunakan sebagai nilai untuk pengaturan LogSeverity :
| Konstanta SQLSRV (bilangan bulat setara dalam tanda kurung) | Deskripsi |
|---|---|
| SQLSRV_LOG_SEVERITY_ALL (-1) | Menentukan bahwa kesalahan, peringatan, dan pemberitahuan akan dicatat. |
| SQLSRV_LOG_SEVERITY_ERROR (1) | Menentukan bahwa kesalahan akan dicatat. |
| SQLSRV_LOG_SEVERITY_NOTICE (4) | Menentukan bahwa pemberitahuan akan dicatat. |
| SQLSRV_LOG_SEVERITY_WARNING (2) | Menentukan bahwa peringatan akan dicatat. |
Konstanta Nullable
Tabel berikut mencantumkan konstanta yang bisa Anda gunakan untuk menentukan apakah kolom dapat diubah ke null atau tidak atau jika informasi ini tidak tersedia. Anda dapat membandingkan nilai kunci Nullable yang dikembalikan oleh sqlsrv_field_metadata untuk menentukan status nullable kolom.
| Konstanta SQLSRV (bilangan bulat setara dalam tanda kurung) | Deskripsi |
|---|---|
| SQLSRV_NULLABLE_YES (0) | Kolom dapat diubah ke null. |
| SQLSRV_NULLABLE_NO (1) | Kolom tidak dapat diubah ke null. |
| SQLSRV_NULLABLE_UNKNOWN (2) | Tidak diketahui apakah kolom dapat diubah ke null. |
Konstanta PARAM
Daftar berikut berisi konstanta untuk menentukan arah parameter saat Anda memanggil sqlsrv_query atau sqlsrv_prepare.
| Konstanta SQLSRV | Deskripsi |
|---|---|
| SQLSRV_PARAM_IN | Menunjukkan parameter input. |
| SQLSRV_PARAM_INOUT | Menunjukkan parameter dua arah. |
| SQLSRV_PARAM_OUT | Menunjukkan parameter output. |
Konstanta PHPTYPE
Tabel berikut mencantumkan konstanta yang digunakan untuk menjelaskan jenis data PHP. Untuk informasi tentang jenis data PHP, lihat Jenis PHP.
| Konstanta SQLSRV | Jenis data PHP |
|---|---|
| SQLSRV_PHPTYPE_INT | Bilangan bulat |
| SQLSRV_PHPTYPE_DATETIME | Tanggalwaktu |
| SQLSRV_PHPTYPE_FLOAT | Float |
| SQLSRV_PHPTYPE_STREAM($encoding1) | Stream |
| SQLSRV_PHPTYPE_STRING($encoding1) | String |
- SQLSRV_PHPTYPE_STREAM dan SQLSRV_PHPTYPE_STRING menerima parameter yang menentukan pengodean aliran. Tabel berikut berisi konstanta SQLSRV yang merupakan parameter yang dapat diterima, dan deskripsi pengodean yang sesuai.
| Konstanta SQLSRV | Deskripsi |
|---|---|
| SQLSRV_ENC_BINARY | Data dikembalikan sebagai aliran byte mentah dari server tanpa melakukan pengodean atau terjemahan. |
| SQLSRV_ENC_CHAR | Data dikembalikan dalam karakter 8-bit seperti yang ditentukan di halaman kode lokal Windows yang diatur pada sistem. Setiap karakter atau karakter multi-byte yang tidak dipetakan ke halaman kode ini diganti dengan karakter tanda tanya byte tunggal (?). Ini adalah pengodean default. |
| "UTF-8" | Data dikembalikan dalam pengodean UTF-8. Konstanta ini ditambahkan dalam versi 1.1 dari Microsoft Drivers untuk PHP untuk SQL Server. Untuk informasi selengkapnya tentang dukungan UTF-8, lihat Cara: Mengirim dan Mengambil Data UTF-8 menggunakan Dukungan UTF-8 Bawaan. |
Catatan
Saat Anda menggunakan SQLSRV_PHPTYPE_STREAM atau SQLSRV_PHPTYPE_STRING, pengodean harus ditentukan. Jika tidak ada parameter yang disediakan, kesalahan akan dikembalikan.
Untuk informasi selengkapnya tentang konstanta ini, lihat Cara: Menentukan Jenis Data PHP, Cara: Mengambil Data Karakter sebagai Aliran Menggunakan Driver SQLSRV.
Konstanta SQLTYPE
Tabel berikut mencantumkan konstanta yang digunakan untuk menjelaskan jenis data SQL Server. Beberapa konstanta seperti fungsi dan mungkin mengambil parameter yang sesuai dengan presisi, skala, dan/atau panjang. Saat mengikat parameter, konstanta seperti fungsi harus digunakan. Untuk perbandingan jenis, konstanta standar (tidak seperti fungsi) diperlukan. Untuk informasi tentang jenis data SQL Server, lihat Jenis Data (T-SQL). Untuk informasi tentang presisi, skala, dan panjang, lihat Presisi, Skala, dan Panjang (Transact-SQL).
| Konstanta SQLSRV | Tipe data SQL Server |
|---|---|
| SQLSRV_SQLTYPE_BIGINT | bigint |
| SQLSRV_SQLTYPE_BINARY | biner |
| SQLSRV_SQLTYPE_BIT | bit |
| SQLSRV_SQLTYPE_CHAR | karakter5 |
| SQLSRV_SQLTYPE_CHAR($charCount) | char |
| SQLSRV_SQLTYPE_DATE | tanggal4 |
| SQLSRV_SQLTYPE_DATETIME | datetime |
| SQLSRV_SQLTYPE_DATETIME2 | datetime24 |
| SQLSRV_SQLTYPE_DATETIMEOFFSET | datetimeoffset4 |
| SQLSRV_SQLTYPE_DECIMAL | desimal5 |
| SQLSRV_SQLTYPE_DECIMAL($precision, $scale) | desimal |
| SQLSRV_SQLTYPE_FLOAT | float |
| SQLSRV_SQLTYPE_IMAGE | gambar1 |
| SQLSRV_SQLTYPE_INT | int |
| SQLSRV_SQLTYPE_MONEY | money |
| SQLSRV_SQLTYPE_NCHAR | nchar5 |
| SQLSRV_SQLTYPE_NCHAR($charCount) | nchar |
| SQLSRV_SQLTYPE_NUMERIC | numerik5 |
| SQLSRV_SQLTYPE_NUMERIC($precision, $scale) | numeric |
| 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 | smallmoney |
| SQLSRV_SQLTYPE_TEXT | teks3 |
| SQLSRV_SQLTYPE_TIME | waktu4 |
| SQLSRV_SQLTYPE_TIMESTAMP | rentang waktu |
| 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 |
Ini adalah jenis warisan yang memetakan ke jenis varbinary(maks).
Ini adalah jenis warisan yang memetakan ke jenis nvarchar yang lebih baru.
Ini adalah jenis warisan yang memetakan ke jenis varchar yang lebih baru.
Dukungan untuk jenis ini ditambahkan dalam versi 1.1 dari Microsoft Drivers untuk PHP untuk SQL Server.
Konstanta ini harus digunakan dalam operasi perbandingan jenis dan tidak mengganti konstanta seperti fungsi dengan sintaks yang sama. Untuk parameter pengikatan, Anda harus menggunakan konstanta seperti fungsi.
Tabel berikut mencantumkan konstanta SQLTYPE yang menerima parameter dan rentang nilai yang diizinkan untuk parameter .
| SQLTYPE | Parameter | Rentang yang diizinkan untuk parameter |
|---|---|---|
| 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 |
presisi | 1 - 38 |
| SQLSRV_SQLTYPE_DECIMAL, SQLSRV_SQLTYPE_NUMERIC |
Skala | 1 - presisi |
Konstanta Tingkat Isolasi Transaksi
Kunci TransactionIsolation , yang digunakan dengan sqlsrv_connect, menerima salah satu konstanta berikut:
SQLSRV_TXN_READ_UNCOMMITTED
SQLSRV_TXN_READ_COMMITTED
SQLSRV_TXN_REPEATABLE_READ
SQLSRV_TXN_SNAPSHOT
SQLSRV_TXN_SERIALIZABLE
Kursor dan Konstanta Gulir
Konstanta berikut menentukan jenis kursor yang bisa Anda gunakan dalam kumpulan hasil:
SQLSRV_CURSOR_FORWARD
SQLSRV_CURSOR_STATIC
SQLSRV_CURSOR_DYNAMIC
SQLSRV_CURSOR_KEYSET
SQLSRV_CURSOR_CLIENT_BUFFERED
Konstanta berikut menentukan baris mana yang akan dipilih dalam tataan hasil:
SQLSRV_SCROLL_NEXT
SQLSRV_SCROLL_PRIOR
SQLSRV_SCROLL_FIRST
SQLSRV_SCROLL_LAST
SQLSRV_SCROLL_ABSOLUTE
SQLSRV_SCROLL_RELATIVE
Untuk informasi tentang menggunakan konstanta ini, lihat Menentukan Jenis Kursor dan Memilih Baris.