Types de données PHP par défaut
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 |
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.
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.
Les données sont retournées à partir du serveur sous la forme d’un flux d’octets bruts sans encodage ni traduction.
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.
Il s’agit d’un type hérité mappé sur le type varbinary(max).
Il s’agit d’un type hérité mappé sur le type nvarchar(max).
sql_variant n’est pas pris en charge dans les paramètres de sortie ni bidirectionnels.
Il s’agit d’un type hérité mappé sur le type varchar(max).
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