Partager via


Types de données PHP par défaut

Télécharger le pilote PHP

Lors de la récupération des données à partir du serveur, Pilotes Microsoft SQL Server pour PHP convertit les données en un type de données PHP par défaut si aucun type de données PHP n’a été spécifié par l’utilisateur.

Quand les données sont retournées à l’aide du pilote PDO_SQLSRV, le type de données est soit int, soit string.

Le reste de cette rubrique traite des types de données par défaut qui utilisent le pilote SQLSRV.

Le tableau suivant répertorie le type de données SQL Server (type des données récupérées à partir du serveur), le type de données PHP par défaut (type de données vers lequel les données sont converties) et l’encodage par défaut pour les flux et les chaînes. Pour plus d’informations sur la manière de spécifier des types de données lors de la récupération de données à partir du serveur, consultez How to: Specify PHP Data Types.

Type SQL Server Type PHP par défaut Encodage par défaut
bigint String Caractère 8 bits1
binary Flux2 Binaire3
bit Integer Caractère 8 bits1
char String Caractère 8 bits1
date4 Datetime Non applicable
datetime4 Datetime Non applicable
datetime24 Datetime Non applicable
datetimeoffset4 Datetime Non applicable
Décimal String Caractère 8 bits1
float Float Caractère 8 bits1
Geography Flux Binaire3
geometry Flux Binaire3
image5 Flux2 Binaire3
int Integer Caractère 8 bits1
money String Caractère 8 bits1
NCHAR String Caractère 8 bits1
numeric String Caractère 8 bits1
NVARCHAR String Caractère 8 bits1
nvarchar(MAX) Flux2 Caractère 8 bits1
ntext6 Flux2 Caractère 8 bits1
real Float Caractère 8 bits1
smalldatetime Datetime Caractère 8 bits1
SMALLINT Integer Caractère 8 bits1
SMALLMONEY String Caractère 8 bits1
sql_variant7 String Caractère 8 bits1
text8 Flux2 Caractère 8 bits1
time4 Datetime Non applicable
timestamp String Caractère 8 bits1
TINYINT Integer Caractère 8 bits1
UDT Flux2 Binaire3
UNIQUEIDENTIFIER Chaîne9 Caractère 8 bits1
varbinary Flux2 Binaire3
varbinary(MAX) Flux2 Binaire3
varchar String Caractère 8 bits1
varchar(MAX) Flux2 Caractère 8 bits1
Xml Flux2 Caractère 8 bits1
  1. Les données sont retournées sous forme de caractères 8 bits comme spécifié dans la page de codes des paramètres régionaux Windows définis sur le système. Les caractères multioctets ou les caractères non mappés dans cette page de codes sont remplacés par un point d’interrogation (?) à un octet.

  2. Si sqlsrv_fetch_array ou sqlsrv_fetch_object est utilisé pour récupérer des données dont le type PHP par défaut est Flux, les données sont retournées sous la forme d’une chaîne avec le même encodage que le flux. Par exemple, si un type binaire SQL Server est récupéré à l’aide de sqlsrv_fetch_array, le type de retour par défaut est une chaîne binaire.

  3. Les données sont retournées à partir du serveur sous la forme d’un flux d’octets bruts sans encodage ni traduction.

  4. Les types de date et d’heure peuvent être récupérés sous forme de chaînes. Pour plus d’informations, consultez Procédure : récupérer des types de date et heure sous forme de chaînes à l’aide du pilote SQLSRV.

  5. Il s’agit d’un type hérité mappé sur le type varbinary(max).

  6. Il s’agit d’un type hérité mappé sur le type nvarchar(max).

  7. sql_variant n’est pas pris en charge dans les paramètres de sortie ni bidirectionnels.

  8. Il s’agit d’un type hérité mappé sur le type varchar(max).

  9. Les UNIQUEIDENTIFIER sont des GUID représentés par l’expression régulière suivante :

    [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-f]{4}-[0-9a-fA-f]{4}-[0-9a-fA-F]{12}

Autres nouveaux types et fonctionnalités SQL Server 2008

Les types de données qui sont nouveaux dans SQL Server 2008 et qui existent en dehors des colonnes (par exemple, les paramètres table) ne sont pas pris en charge dans Pilotes Microsoft SQL Server pour PHP. Le tableau suivant résume la prise en charge PHP pour les nouvelles fonctionnalités SQL Server 2008.

Fonctionnalité Prise en charge PHP
Paramètre table No
Colonnes éparses Partial
Compression de bits Null Oui
Types CLR volumineux définis par l’utilisateur (UDT) Oui
Nom de principal du service No
MERGE Oui
FILESTREAM Partial

Une prise en charge partielle des types signifie que vous ne pouvez pas interroger par programme le type de la colonne.

Voir aussi

Constantes (Microsoft Drivers for PHP for SQL Server)

Conversion de types de données

Types PHP

Types de données (Transact-SQL)

sqlsrv_field_metadata