Bagikan melalui


Konstanta (Driver Microsoft untuk PHP untuk SQL Server)

Unduh driver PHP

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
  1. 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
  1. Ini adalah jenis warisan yang memetakan ke jenis varbinary(maks).

  2. Ini adalah jenis warisan yang memetakan ke jenis nvarchar yang lebih baru.

  3. Ini adalah jenis warisan yang memetakan ke jenis varchar yang lebih baru.

  4. Dukungan untuk jenis ini ditambahkan dalam versi 1.1 dari Microsoft Drivers untuk PHP untuk SQL Server.

  5. 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.

Lihat Juga

Referensi API Driver SQLSRV