Aracılığıyla paylaş


Sabitler (SQL Server için PHP için Microsoft Sürücüleri)

PHP sürücüsünü indirme

Bu konuda, SQL Server için PHP için Microsoft Sürücüleri tarafından tanımlanan sabitler açıklanmaktadır.

PDO_SQLSRV Sürücü Sabitleri

PDO web sitesinde listelenen sabitler, SQL Server için PHP için Microsoft Sürücüleri'nde geçerlidir.

Aşağıda, PDO_SQLSRV sürücüsündeki Microsoft'a özgü sabitler açıklanmaktadır.

İşlem Yalıtım Düzeyi Sabitleri

PDO::__construct ile kullanılan TransactionIsolation anahtarı aşağıdaki sabitlerden birini kabul eder:

  • PDO::SQLSRV_TXN_READ_UNCOMMITTED

  • PDO::SQLSRV_TXN_READ_COMMITTED

  • PDO::SQLSRV_TXN_REPEATABLE_READ

  • PDO::SQLSRV_TXN_SNAPSHOT

  • PDO::SQLSRV_TXN_SERIALIZABLE

TransactionIsolation anahtarı hakkında daha fazla bilgi için bkz. Bağlantı Seçenekleri.

Kodlama Sabitleri

PDO::SQLSRV_ATTR_ENCODING özniteliği PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn ve PDOStatement::bindParam fonksiyonlarına geçirilebilir.

PDO::SQLSRV_ATTR_ENCODING'e geçirilebilecek kullanılabilir değerler şunlardır:

sürücü sabiti PDO_SQLSRV Description
PDO::SQLSRV_ENCODING_BINARY Veriler, kodlama veya çeviri gerçekleştirmeden sunucudan gelen ham bir bayt akışıdır.

PDO::setAttribute için geçerli değil.
PDO::SQLSRV_ENCODING_SYSTEM Veriler, sistemde ayarlanan Windows yerel ayarının kod sayfasında belirtildiği gibi 8 bit karakterdir. Bu kod sayfasıyla eşleşmeyen çok baytlı karakterler veya karakterler tek baytlık soru işareti (?) karakteriyle değiştirilir.
PDO::SQLSRV_ENCODING_UTF8 Veriler UTF-8 kodlamasındadır. Bu varsayılan kodlamadır.
PDO::SQLSRV_ENCODING_DEFAULT Bağlantı sırasında belirtilirse PDO::SQLSRV_ENCODING_SYSTEM kullanır.

Hazırlama ifadesinde belirtilmişse bağlantının kodlamasını kullanın.

Sorgu Zaman Aşımı

PDO::SQLSRV_ATTR_QUERY_TIMEOUT özniteliği, zaman aşımı süresini saniye cinsinden temsil eden negatif olmayan herhangi bir tamsayıdır. Sıfır (0) varsayılandır ve zaman aşımı olmadığı anlamına gelir.

PDOStatement::setAttribute, PDO::setAttribute ve PDO::prepare ile PDO::SQLSRV_ATTR_QUERY_TIMEOUT özniteliğini belirleyebilirsiniz.

Doğrudan veya Hazırlanmış Yürütme

PDO::SQLSRV_ATTR_DIRECT_QUERY özniteliğiyle doğrudan sorgu yürütmeyi veya hazırlanmış deyim yürütmeyi seçebilirsiniz. PDO::SQLSRV_ATTR_DIRECT_QUERY PDO::prepare veya PDO::setAttribute ile ayarlanabilir. PDO::SQLSRV_ATTR_DIRECT_QUERY hakkında daha fazla bilgi için bkz. PDO_SQLSRV Sürücüsünde Doğrudan Deyim Yürütme ve Hazırlanmış Deyim Yürütme.

Sayısal Getirmeleri İşleme

PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE özniteliği, sayısal SQL türlerine (bit, tamsayı, smallint, tinyint, float ve real) sahip sütunlardan sayısal getirme işlemlerini işlemek için kullanılabilir. PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE true olarak ayarlandığında, bir tamsayı sütunundan elde edilen sonuçlar int olarak, SQL kayan ve reals ise kayan değer olarak gösterilir. Bu öznitelik PDOStatement::setAttribute ile ayarlanabilir.

Varsayılan ondalık biçimlendirme davranışını PDO::SQLSRV_ATTR_FORMAT_DECIMALS ve PDO::SQLSRV_ATTR_DECIMAL_PLACES öznitelikleriyle değiştirebilirsiniz. Çıkış parametrelerinin biçimlendirme için desteklenmemesi dışında, bu özniteliklerin davranışı SQLSRV tarafındaki (FormatDecimals ve DecimalPlaces) ilgili seçeneklerle aynıdır. Bu öznitelikler PDO::setAttribute veya PDOStatement::setAttribute ile bağlantı veya deyim düzeyinde ayarlanabilir, ancak herhangi bir deyim özniteliği ilgili bağlantı özniteliğini geçersiz kılar. Diğer ayrıntılar için bkz . Ondalık Dizeleri ve Para Değerlerini Biçimlendirme (PDO_SQLSRV Sürücüsü).

Tarih ve Saat Getirme işlemlerini işleme

PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE, tarih ve saat türlerinin PHP DateTime nesneleri olarak alınıp alınmayacağını belirtir. False olarak bırakılırsa, varsayılan davranış bunları dize olarak döndürmektir. Bu öznitelik PDO::setAttribute veya PDOStatement::setAttribute ile bağlantı veya deyim düzeyinde ayarlanabilir, ancak deyim özniteliği ilgili bağlantı özniteliğini geçersiz kılar. Daha fazla bilgi için PDO_SQLSRV Sürücüsünü Kullanarak PHP DateTime Nesneleri olarak Tarih ve Saat Türlerini Nasıl Alabilirsiniz'e bakın.

SQLSRV Sürücü Sabitleri

Aşağıdaki bölümlerde SQLSRV sürücüsü tarafından kullanılan sabitler listelanmıştır.

ERR Sabitleri

Aşağıdaki tabloda, sqlsrv_errors hata, uyarı veya her ikisini birden döndürdüğünü belirtmek için kullanılan sabitler listelenir.

Değer Description
SQLSRV_ERR_ALL Son sqlsrv işlev çağrısında oluşturulan hatalar ve uyarılar döndürülür. Bu varsayılan değerdir.
SQLSRV_ERR_ERRORS Son sqlsrv işlev çağrısında oluşturulan hatalar döndürülür.
SQLSRV_ERR_WARNINGS Son sqlsrv işlev çağrısında oluşturulan uyarılar döndürülür.

FETCH Sabitleri

Aşağıdaki tabloda, sqlsrv_fetch_array tarafından döndürülen dizi türünü belirtmek için kullanılan sabitler listelenir.

SQLSRV sabiti Description
SQLSRV_FETCH_ASSOC sqlsrv_fetch_array , sonraki veri satırını ilişkilendirici bir dizi olarak döndürür.
SQLSRV_FETCH_BOTH sqlsrv_fetch_array , bir sonraki veri satırını hem sayısal hem de ilişkilendirici anahtarlara sahip bir dizi olarak döndürür. Bu varsayılan değerdir.
SQLSRV_FETCH_NUMERIC sqlsrv_fetch_array , sayısal olarak dizinlenmiş bir dizi olarak sonraki veri satırını döndürür.

Günlük Sabitleri

Bu bölümde, sqlsrv_configure ile günlük ayarlarını değiştirmek için kullanılan sabitler listelenir. Etkinliklerin kaydedilmesi hakkında daha fazla bilgi için bkz Günlük Etkinliği.

Aşağıdaki tabloda , LogSubsystems ayarı için değer olarak kullanılabilecek sabitler listelenir:

SQLSRV sabiti (parantez içinde tamsayı eşdeğeri) Description
SQLSRV_LOG_SYSTEM_ALL (-1) Tüm alt sistemlerin günlüğe kaydedilmesini etkinleştirir.
SQLSRV_LOG_SYSTEM_CONN (2) Bağlantı etkinliğinin günlüğe kaydedilmesini açar.
SQLSRV_LOG_SYSTEM_INIT (1) Başlatma etkinliğinin günlüğe kaydedilmesini açar.
SQLSRV_LOG_SYSTEM_OFF (0) Log kaydını kapatır.
SQLSRV_LOG_SYSTEM_STMT (4) Deyim etkinliğinin günlüğe kaydedilmesini açar.
SQLSRV_LOG_SYSTEM_UTIL (8) Hata işlevleri etkinliğinin (örneğin handle_error ve handle_warning) günlüğe kaydedilmesini etkinleştirir.

Aşağıdaki tabloda , LogSeverity ayarı için değer olarak kullanılabilecek sabitler listelenir:

SQLSRV sabiti (parantez içinde tamsayı eşdeğeri) Description
SQLSRV_LOG_SEVERITY_ALL (-1) Hataların, uyarıların ve bildirimlerin günlüğe kaydedileceğini belirtir.
SQLSRV_LOG_SEVERITY_ERROR (1) Hataların günlüğe kaydedileceğini belirtir.
SQLSRV_LOG_SEVERITY_NOTICE (4) Bildirimlerin günlüğe kaydedileceğini belirtir.
SQLSRV_LOG_SEVERITY_WARNING (2) Uyarıların günlüğe kaydedileceğini belirtir.

Null Değer Alabilir Sabitler

Aşağıdaki tabloda, bir sütunun null atanabilir olup olmadığını veya bu bilgilerin kullanılabilir olup olmadığını belirlemek için kullanabileceğiniz sabitler listelenir. Sütunun boş değer atanabilir durumunu belirlemek için sqlsrv_field_metadata tarafından döndürülen Nullable anahtarının değerini karşılaştırabilirsiniz.

SQLSRV sabiti (parantez içinde tamsayı eşdeğeri) Description
SQLSRV_NULLABLE_YES (0) Sütun null atanabilir.
SQLSRV_NULLABLE_NO (1) Sütun null değer atanamaz.
SQLSRV_NULLABLE_UNKNOWN (2) Sütunun nullable olup olmadığı bilinmiyor.

PARAM Sabitleri

Aşağıdaki liste, sqlsrv_query veyasqlsrv_prepare çağırdığınızda parametre yönünü belirtme sabitlerini içerir.

SQLSRV sabiti Description
SQLSRV_PARAM_IN Giriş parametresini gösterir.
SQLSRV_PARAM_INOUT Çift yönlü parametreyi gösterir.
SQLSRV_PARAM_OUT Çıkış parametresini gösterir.

PHPTYPE Sabitleri

Aşağıdaki tabloda PHP veri türlerini açıklamak için kullanılan sabitler listelenmiştir. PHP veri türleri hakkında bilgi için bkz. PHP Türleri.

SQLSRV sabiti PHP veri türü
SQLSRV_PHPTYPE_INT Integer
SQLSRV_PHPTYPE_DATETIME Tarih ve saat
SQLSRV_PHPTYPE_FLOAT Yüzmek
SQLSRV_PHPTYPE_STREAM($encoding1) Akarsu
SQLSRV_PHPTYPE_STRING($encoding1) String
  1. SQLSRV_PHPTYPE_STREAM ve SQLSRV_PHPTYPE_STRING akış kodlamasını belirten bir parametreyi kabul eder. Aşağıdaki tabloda kabul edilebilir parametreler olan SQLSRV sabitleri ve ilgili kodlamanın açıklaması yer alır.
SQLSRV sabiti Description
SQLSRV_ENC_BINARY Veriler, kodlama veya çeviri gerçekleştirmeden sunucudan ham bayt akışı olarak döndürülür.
SQLSRV_ENC_CHAR Veriler, sistemde ayarlanan Windows yerel ayarının kod sayfasında belirtildiği gibi 8 bit karakter olarak döndürülür. Bu kod sayfasıyla eşleşmeyen çok baytlı karakterler veya karakterler tek baytlık soru işareti (?) karakteriyle değiştirilir.

Bu varsayılan kodlamadır.
"UTF-8" Veriler UTF-8 kodlamasında döndürülür. Bu sabit, SQL Server için PHP için Microsoft Sürücüleri'nin 1.1 sürümüne eklendi. UTF-8 desteği hakkında daha fazla bilgi için bkz Nasıl Yapılır: Dahili UTF-8 Desteği Kullanarak UTF-8 Verilerini Gönderme ve Alma.

Uyarı

SQLSRV_PHPTYPE_STREAM veya SQLSRV_PHPTYPE_STRING kullandığınızda kodlama belirtilmelidir. Parametre sağlanmazsa bir hata döndürülür.

Bu sabitler hakkında daha fazla bilgi için bkz . Nasıl yapılır: PHP Veri Türlerini Belirtme, Nasıl yapılır: SQLSRV Sürücüsünü Kullanarak Karakter Verilerini Akış Olarak Alma.

SQLTYPE Sabitleri

Aşağıdaki tabloda SQL Server veri türlerini açıklamak için kullanılan sabitler listelenmiştir. Bazı sabitler işleve benzerdir ve duyarlık, ölçek ve/veya uzunluğa karşılık gelen parametreleri alabilir. Parametreler bağlanırken işlev benzeri sabitler kullanılmalıdır. Tür karşılaştırmaları için standart (işlev benzeri olmayan) sabitler gereklidir. SQL Server veri türleri hakkında bilgi için bkz. Veri Türleri (Transact-SQL). Duyarlık, ölçek ve uzunluk hakkında bilgi için bkz . Duyarlık, Ölçek ve Uzunluk (Transact-SQL).

SQLSRV sabiti SQL Server veri türü
SQLSRV_SQLTYPE_BIGINT bigint
SQLSRV_SQLTYPE_BINARY ikili
SQLSRV_SQLTYPE_BIT parça
SQLSRV_SQLTYPE_CHAR char5
SQLSRV_SQLTYPE_CHAR($charCount) char
SQLSRV_SQLTYPE_DATE tarih4
SQLSRV_SQLTYPE_DATETIME tarih/zaman
SQLSRV_SQLTYPE_DATETIME2 datetime24
SQLSRV_SQLTYPE_DATETIMEOFFSET datetimeoffset4
SQLSRV_SQLTYPE_DECIMAL ondalık sayı5
SQLSRV_SQLTYPE_DECIMAL($precision, $scale) decimal
SQLSRV_SQLTYPE_FLOAT (SQL Sunucusu'nda kullanılan bir float veri türü) yüzmek
SQLSRV_SQLTYPE_IMAGE resim1
SQLSRV_SQLTYPE_INT int
SQLSRV_SQLTYPE_MONEY para
SQLSRV_SQLTYPE_NCHAR nchar5
SQLSRV_SQLTYPE_NCHAR($charCount) nchar (Unicode karakter tipi)
SQLSRV_SQLTYPE_NUMERIC sayısal5
SQLSRV_SQLTYPE_NUMERIC($precision, $scale) sayısal
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 küçükpara
SQLSRV_SQLTYPE_TEXT metin3
SQLSRV_SQLTYPE_TIME saat4
SQLSRV_SQLTYPE_TIMESTAMP Tarih damgası
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 Belediyesi
SQLSRV_SQLTYPE_VARCHAR('max') varchar(MAX)
SQLSRV_SQLTYPE_XML xml
  1. Bu, varbinary(max) türüne eşleyen eski bir türdür.

  2. Bu, daha yeni nvarchar türüne bağlanan eski bir türdür.

  3. Bu, daha güncel varchar türüne eşleyen eski bir türdür.

  4. Bu tür için destek, SQL Server için PHP için Microsoft Sürücüleri'nin 1.1 sürümüne eklendi.

  5. Bu sabitler tür karşılaştırma işlemlerinde kullanılmalıdır ve işlev benzeri sabitleri benzer söz dizimiyle değiştirmemelidir. Bağlama parametreleri için işlev benzeri sabitleri kullanmanız gerekir.

Aşağıdaki tabloda, parametreleri kabul eden SQLTYPE sabitleri ve parametre için izin verilen değer aralığı listelenir.

SQLTYPE Parametre Parametre için izin verilebilen aralık
SQLSRV_SQLTYPE_CHAR,

SQLSRV_SQLTYPE_VARCHAR
Charcount 1 - 8000
SQLSRV_SQLTYPE_NCHAR,

SQLSRV_SQLTYPE_NVARCHAR
charCount 1 - 4000
SQLSRV_SQLTYPE_BINARY,

SQLSRV_SQLTYPE_VARBINARY
baytSayısı 1 - 8000
SQLSRV_SQLTYPE_DECIMAL,

SQLSRV_SQLTYPE_NUMERIC
kesinlik 1 - 38
SQLSRV_SQLTYPE_DECIMAL

SQLSRV_SQLTYPE_NUMERIC
scale 1 - hassasiyet

İşlem Yalıtım Düzeyi Sabitleri

sqlsrv_connect ile kullanılan TransactionIsolation anahtarı aşağıdaki sabitlerden birini kabul eder:

  • SQLSRV_TXN_READ_UNCOMMITTED

  • SQLSRV_TXN_READ_COMMITTED

  • SQLSRV_TXN_REPEATABLE_READ

  • SQLSRV_TXN_SNAPSHOT

  • SQLSRV_TXN_SERIALIZABLE

İmleç ve Kaydırma Sabitleri

Aşağıdaki sabitler, bir sonuç kümesinde kullanabileceğiniz imleç türünü belirtir:

  • SQLSRV_CURSOR_FORWARD

  • SQLSRV_CURSOR_STATIC

  • SQLSRV_CURSOR_DYNAMIC

  • SQLSRV_CURSOR_KEYSET

  • SQLSRV_CURSOR_CLIENT_BUFFERED

Aşağıdaki sabitler, sonuç kümesinde hangi satırın seçileceğini belirtir:

  • SQLSRV_SCROLL_NEXT

  • SQLSRV_SCROLL_PRIOR

  • SQLSRV_SCROLL_FIRST

  • SQLSRV_SCROLL_LAST

  • SQLSRV_SCROLL_ABSOLUTE

  • SQLSRV_SCROLL_RELATIVE

Bu sabitleri kullanma hakkında bilgi için bkz. İmleç Türü Belirtme ve Satırları Seçme.

Ayrıca Bkz.

SQLSRV Sürücü API'si Başvurusu