Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este tópico discute as constantes definidas pelos Microsoft Drivers para PHP para SQL Server.
PDO_SQLSRV Constantes do Driver
As constantes listadas no site do PDO são válidas nos Microsoft Drivers for PHP para SQL Server.
O seguinte descreve as constantes específicas da Microsoft no driver PDO_SQLSRV.
Constantes de Nível de Isolamento da Transação
A chave TransactionIsolation , usada com PDO::__construct, aceita uma das seguintes constantes:
PDO::SQLSRV_TXN_READ_UNCOMMITTED
PDO::SQLSRV_TXN_READ_COMMITTED
PDO::SQLSRV_TXN_REPEATABLE_READ
PDO::SQLSRV_TXN_SNAPSHOT
PDO::SQLSRV_TXN_SERIALIZABLE
Para mais informações sobre a chave TransactionIsolation , consulte Opções de Ligação.
Constantes de Codificação
O atributo PDO::SQLSRV_ATTR_ENCODING pode ser passado para PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn e PDOStatement::bindParam.
Os valores disponíveis para passar para PDO::SQLSRV_ATTR_ENCODING são
| constante do driver PDO_SQLSRV | Description |
|---|---|
| PDO::SQLSRV_ENCODING_BINARY | Os dados são um fluxo de bytes bruto do servidor sem realizar codificação ou tradução. Não é válido para PDO::setAttribute. |
| PDO::SQLSRV_ENCODING_SYSTEM | Os dados são caracteres de 8 bits, conforme especificado na página de códigos do local Windows definida no sistema. Quaisquer caracteres de vários bytes ou caracteres que não correspondam a esta página de código são substituídos por um carácter de ponto de interrogação de um byte (?). |
| PDO::SQLSRV_ENCODING_UTF8 | Os dados estão na codificação UTF-8. Esta é a codificação padrão. |
| PDO::SQLSRV_ENCODING_DEFAULT | Usa PDO::SQLSRV_ENCODING_SYSTEM se especificado durante a ligação. Utilize a codificação da conexão, se especificada numa instrução de preparação. |
Tempo Limite de Consulta de Dados
O atributo PDO::SQLSRV_ATTR_QUERY_TIMEOUT é qualquer inteiro não negativo que representa o período de timeout, em segundos. Zero (0) é o padrão e significa que não há tempo morto.
Pode especificar o atributo PDO::SQLSRV_ATTR_QUERY_TIMEOUT com PDOStatement::setAttribute, PDO::setAttribute e PDO::prepare.
Execução Direta ou Preparada
Pode selecionar execução direta de consulta ou execução de instrução preparada com o atributo PDO::SQLSRV_ATTR_DIRECT_QUERY. PDO::SQLSRV_ATTR_DIRECT_QUERY pode ser definido com PDO::prepare ou PDO::setAttribute. Para mais informações sobre PDO::SQLSRV_ATTR_DIRECT_QUERY, consulte Execução Direta de Instruções e Execução de Instruções Preparadas no Driver PDO_SQLSRV.
Tratamento de Buscas Numéricas
O atributo PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE pode ser usado para lidar com buscas numéricas de colunas com tipos SQL numéricos (bit, integer, smallint, tinyint, float e real). Quando PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE está definido como verdadeiro, os resultados de uma coluna inteira são representados como ints, enquanto floats SQL e reais são representados como floats. Este atributo pode ser definido com PDOStatement::setAttribute.
Pode modificar o comportamento de formatação decimal padrão com os atributos PDO::SQLSRV_ATTR_FORMAT_DECIMALS e PDO::SQLSRV_ATTR_DECIMAL_PLACES. O comportamento destes atributos é idêntico ao das opções correspondentes do lado SQLSRV (FormatDecimals e DecimalPlaces), exceto que os parâmetros de saída não são suportados para formatação. Estes atributos podem ser definidos ao nível da ligação ou da instrução com PDO::setAttribute ou PDOStatement::setAttribute, mas qualquer atributo da instrução irá sobrepor-se ao correspondente atributo de conexão. Para mais detalhes, consulte Formatação de Cadeias Decimais e Valores de Dinheiro (PDO_SQLSRV Driver).
Gestão de Buscas de Data e Hora
O PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE especifica se deve recuperar os tipos de data e hora como objetos PHP DateTime . Se forem deixados falsos, o comportamento padrão é devolvê-los como strings. Este atributo pode ser definido ao nível da ligação ou da instrução com PDO::setAttribute ou PDOStatement::setAttribute, mas o atributo da instrução sobrepor-se-á ao correspondente atributo connection. Para mais informações, veja Como: Recuperar Tipos de Data e Hora como Objetos PHP DateTime usando o PDO_SQLSRV Driver.
Constantes do Driver SQLSRV
As secções seguintes listam as constantes usadas pelo driver SQLSRV.
Constantes ERR
A tabela seguinte lista as constantes que são usadas para especificar se sqlsrv_errors devolve erros, avisos ou ambos.
| Valor | Description |
|---|---|
| SQLSRV_ERR_ALL | Erros e avisos gerados na última chamada de função sqlsrv são retornados. Este é o valor padrão. |
| SQLSRV_ERR_ERRORS | Os erros gerados na última chamada de função sqlsrv são devolvidos. |
| SQLSRV_ERR_WARNINGS | Os avisos gerados na última chamada de função sqlsrv são devolvidos. |
Constantes FETCH
A tabela seguinte lista as constantes que são usadas para especificar o tipo de array devolvido por sqlsrv_fetch_array.
| Constante SQLSRV | Description |
|---|---|
| SQLSRV_FETCH_ASSOC | sqlsrv_fetch_array devolve a próxima linha de dados como um array associativo. |
| SQLSRV_FETCH_BOTH | sqlsrv_fetch_array devolve a próxima linha de dados como um array com chaves numéricas e associativas. Este é o valor padrão. |
| SQLSRV_FETCH_NUMERIC | sqlsrv_fetch_array devolve a próxima linha de dados como um array indexado numericamente. |
Constantes de registo
Esta secção lista as constantes que são usadas para alterar as definições de registo com sqlsrv_configure. Para mais informações sobre atividade de registo, consulte Atividade de Registo.
A tabela seguinte lista as constantes que podem ser usadas como valor para a definição LogSubsystems :
| Constante SQLSRV (equivalente inteiro entre parênteses) | Description |
|---|---|
| SQLSRV_LOG_SYSTEM_ALL (-1) | Ativa o registo de todos os subsistemas. |
| SQLSRV_LOG_SYSTEM_CONN (2) | Ativa o registo da atividade de ligação. |
| SQLSRV_LOG_SYSTEM_INIT (1) | Ativa o registo da atividade de inicialização. |
| SQLSRV_LOG_SYSTEM_OFF (0) | Desativa o registo de atividades. |
| SQLSRV_LOG_SYSTEM_STMT (4) | Ativa o registo da atividade das instruções SQL. |
| SQLSRV_LOG_SYSTEM_UTIL (8) | Ativa o registo da atividade das funções de erro (como handle_error e handle_warning). |
A tabela seguinte lista as constantes que podem ser usadas como valor para a definição LogSeverity :
| Constante SQLSRV (equivalente inteiro entre parênteses) | Description |
|---|---|
| SQLSRV_LOG_SEVERITY_ALL (-1) | Especifica que erros, avisos e notificações serão registados. |
| SQLSRV_LOG_SEVERITY_ERROR (1) | Especifica que os erros serão registados. |
| SQLSRV_LOG_SEVERITY_NOTICE (4) | Especifica que os avisos serão registados. |
| SQLSRV_LOG_SEVERITY_WARNING (2) | Especifica que os avisos serão registados. |
Constantes anuláveis
A tabela seguinte lista as constantes que pode usar para determinar se uma coluna é anulável ou se essa informação não está disponível. Pode comparar o valor da chave Nullable que é devolvida por sqlsrv_field_metadata para determinar o estado nulável da coluna.
| Constante SQLSRV (equivalente inteiro entre parênteses) | Description |
|---|---|
| SQLSRV_NULLABLE_YES (0) | A coluna é anulável. |
| SQLSRV_NULLABLE_NO (1) | A coluna não é anulável. |
| SQLSRV_NULLABLE_UNKNOWN (2) | Não se sabe se a coluna é anulável. |
Constantes PARAM
A lista seguinte contém as constantes para especificar a direção do parâmetro quando chama sqlsrv_query ou sqlsrv_prepare.
| Constante SQLSRV | Description |
|---|---|
| SQLSRV_PARAM_IN | Indica um parâmetro de entrada. |
| SQLSRV_PARAM_INOUT | Indica um parâmetro bidirecional. |
| SQLSRV_PARAM_OUT | Indica um parâmetro de saída. |
Constantes PHPTYPE
A tabela seguinte lista as constantes que são usadas para descrever os tipos de dados PHP. Para informações sobre os tipos de dados PHP, consulte Tipos PHP.
| Constante SQLSRV | Tipo de dados PHP |
|---|---|
| SQLSRV_PHPTYPE_INT | Número inteiro |
| SQLSRV_PHPTYPE_DATETIME | Data e hora |
| SQLSRV_PHPTYPE_FLOAT | Flutuar |
| SQLSRV_PHPTYPE_STREAM($encoding1) | Stream |
| SQLSRV_PHPTYPE_STRING($encoding1) | Cordão |
- SQLSRV_PHPTYPE_STREAM e SQLSRV_PHPTYPE_STRING aceitam um parâmetro que especifica a codificação do fluxo. A tabela seguinte contém as constantes SQLSRV que são parâmetros aceitáveis e uma descrição da codificação correspondente.
| Constante SQLSRV | Description |
|---|---|
| SQLSRV_ENC_BINARY | Os dados são devolvidos como um fluxo bruto de bytes do servidor sem realizar codificação ou tradução. |
| SQLSRV_ENC_CHAR | Os dados são devolvidos em caracteres de 8 bits, conforme especificado na página de códigos da localidade do Windows definida no sistema. Quaisquer caracteres de vários bytes ou caracteres que não correspondam a esta página de código são substituídos por um carácter de ponto de interrogação de um byte (?). Esta é a codificação padrão. |
| "UTF-8" | Os dados são devolvidos na codificação UTF-8. Esta constante foi adicionada na versão 1.1 dos Microsoft Drivers for PHP para SQL Server. Para mais informações sobre o suporte ao UTF-8, veja Como: Enviar e Recuperar Dados do UTF-8 Usando Built-In Suporte ao UTF-8. |
Observação
Quando usas SQLSRV_PHPTYPE_STREAM ou SQLSRV_PHPTYPE_STRING, a codificação deve ser especificada. Se não for fornecido nenhum parâmetro, será devolvido um erro.
Para mais informações sobre estas constantes, veja Como: Especificar Tipos de Dados PHP, Como: Recuperar Dados de Caracteres como um Fluxo Usando o Driver SQLSRV.
Constantes SQLTYPE
A tabela seguinte lista as constantes usadas para descrever os tipos de dados do SQL Server. Algumas constantes são semelhantes a funções e podem assumir parâmetros que correspondem à precisão, escala e/ou comprimento. Ao ligar parâmetros, devem ser usadas constantes semelhantes a funções. Para comparações de tipos, são necessárias as constantes padrão (não funcionais). Para informações sobre tipos de dados SQL Server, consulte Tipos de Dados (Transact-SQL). Para informações sobre precisão, escala e comprimento, veja Precisão, Escala e Comprimento (Transact-SQL).
| Constante SQLSRV | Tipo de dados do SQL Server |
|---|---|
| SQLSRV_SQLTYPE_BIGINT | bigint |
| SQLSRV_SQLTYPE_BINARY | binário |
| SQLSRV_SQLTYPE_BIT | pouco |
| SQLSRV_SQLTYPE_CHAR | Char5 |
| SQLSRV_SQLTYPE_CHAR($charCount) | char |
| SQLSRV_SQLTYPE_DATE | Data4 |
| SQLSRV_SQLTYPE_DATETIME | datetime |
| SQLSRV_SQLTYPE_DATETIME2 | datetime24 |
| SQLSRV_SQLTYPE_DATETIMEOFFSET | datetimeoffset4 |
| SQLSRV_SQLTYPE_DECIMAL | Decimal 5 |
| SQLSRV_SQLTYPE_DECIMAL($precision, $scale) | decimal |
| SQLSRV_SQLTYPE_FLOAT | float |
| SQLSRV_SQLTYPE_IMAGE | Imagem1 |
| SQLSRV_SQLTYPE_INT | int |
| SQLSRV_SQLTYPE_MONEY | dinheiro |
| SQLSRV_SQLTYPE_NCHAR | nchar 5 |
| SQLSRV_SQLTYPE_NCHAR($charCount) | Nchar |
| SQLSRV_SQLTYPE_NUMERIC | numérico 5 |
| SQLSRV_SQLTYPE_NUMERIC($precision, $scale) | numérico |
| 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 | dinheiro miúdo |
| SQLSRV_SQLTYPE_TEXT | Texto3 |
| SQLSRV_SQLTYPE_TIME | Tempo4 |
| SQLSRV_SQLTYPE_TIMESTAMP | carimbo de data/hora |
| SQLSRV_SQLTYPE_TINYINT | tinyint |
| SQLSRV_SQLTYPE_UNIQUEIDENTIFIER | uniqueidentifier |
| SQLSRV_SQLTYPE_UDT | UDT |
| SQLSRV_SQLTYPE_VARBINARY | Varbinary5 |
| SQLSRV_SQLTYPE_VARBINARY($byteCount) | varbinary |
| SQLSRV_SQLTYPE_VARBINARY('máximo') | varbinary(MAX) |
| SQLSRV_SQLTYPE_VARCHAR | Varchar5 |
| SQLSRV_SQLTYPE_VARCHAR($charCount) | Varchar |
| SQLSRV_SQLTYPE_VARCHAR('max') | varchar(MAX) |
| SQLSRV_SQLTYPE_XML | XML |
Este é um tipo legado que corresponde ao tipo varbinary(max).
Este é um tipo legado que corresponde ao tipo mais recente de nvarchar.
Este é um tipo legado que corresponde ao tipo varchar mais recente.
O suporte para este tipo foi adicionado na versão 1.1 dos Microsoft Drivers para PHP para SQL Server.
Estas constantes devem ser usadas em operações de comparação de tipos e não substituem constantes semelhantes a funções por sintaxe semelhante. Para parâmetros de ligação, deve usar constantes semelhantes a funciones.
A tabela seguinte lista as constantes SQLTYPE que aceitam parâmetros e o intervalo de valores permitidos para o parâmetro.
| SQLTYPE | Parâmetro | Intervalo permitido para o parâmetro |
|---|---|---|
| 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 |
precisão | 1 - 38 |
| SQLSRV_SQLTYPE_DECIMAL SQLSRV_SQLTYPE_NUMERIC |
ajustar | 1 - precisão |
Constantes de Nível de Isolamento da Transação
A chave TransactionIsolation , que é usada com sqlsrv_connect, aceita uma das seguintes constantes:
SQLSRV_TXN_READ_UNCOMMITTED
SQLSRV_TXN_READ_COMMITTED
SQLSRV_TXN_REPEATABLE_READ
SQLSRV_TXN_SNAPSHOT
SQLSRV_TXN_SERIALIZABLE
Cursor e constantes de deslocamento
As seguintes constantes especificam o tipo de cursor que pode usar num conjunto de resultados:
SQLSRV_CURSOR_FORWARD
SQLSRV_CURSOR_STATIC
SQLSRV_CURSOR_DYNAMIC
SQLSRV_CURSOR_KEYSET
SQLSRV_CURSOR_CLIENT_BUFFERED
As seguintes constantes especificam qual linha selecionar no conjunto de resultados:
SQLSRV_SCROLL_NEXT
SQLSRV_SCROLL_PRIOR
SQLSRV_SCROLL_FIRST
SQLSRV_SCROLL_LAST
SQLSRV_SCROLL_ABSOLUTE
SQLSRV_SCROLL_RELATIVE
Para informações sobre a utilização destas constantes, veja Especificar um Tipo de Cursor e Selecionar Linhas.