CakeFest 2017 NYC, the Official CakePHP Conference


(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_typeLiefert den Typ eines Feldes


string mssql_field_type ( resource $result [, int $offset = -1 ] )

Gibt den Typ des Feldes Nr. offset aus result zurück.



Der Bezeichner des Ergebnisses, das ausgewertet wird. Dieses Ergebnis stammt von einem Aufruf von mssql_query().


Der Offset des Feldes, beginnend bei 0. Falls er nicht angegeben wurde, wird das aktuelle Feld verwendet.


Gibt den Typ des angegebenen Feldes zurück. Im Fehlerfall wird FALSE zurückgegeben.


Beispiel #1 mssql_field_type()-Beispiel

// Mit MSSQL verbinden und Datenbank auswählen

// Eine select-Anfrage an MSSQL senden
$anfrage mssql_query('SELECT [name] FROM [php].[dbo].[persons]');

// Feldtyp und -länge ausgeben
echo '\'' mssql_field_name($anfrage0) . '\' ist vom Typ ' .
strtoupper(mssql_field_type($anfrage0)) .
'(' mssql_field_length($anfrage0) . ')';

// Den Ergebnisspeicher freigeben

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

'name' ist vom Typ CHAR(50)

Siehe auch

add a note add a note

User Contributed Notes 3 notes

rmorales at protel dot net dot mx
13 years ago
Here i have an usable code for all u:

   I wanted to know if a field is nullable or if it's defined as a primary key, here are those functions definitions:

*Aditional Notes:
    if any of the tables are replicated in another database exactly , this code will not work well.

//-----to know if a field is nullable-------
function mssql_field_nullable($ip,$user,$pass,$table,$field)//starting from 1st field
      $conn=mssql_connect($ip,$user,$pass)or die;
      $result=mssql_query("SELECT syscolumns.isnullable
FROM sysobjects INNER JOIN
    syscolumns ON = WHERE ='$table' AND syscolumns.isnullable = 1");
      return ($x==1?1:0);

//-------to know if a field is a primary key-------
function mssql_field_key($ip,$user,$pass,$table,$field)//starting from 1st field
      $conn=mssql_connect($ip,$user,$pass)or die;
      $result=mssql_query("SELECT sysindexkeys.colid FROM sysobjects INNER JOIN sysindexkeys ON = WHERE ='$table' AND sysindexkeys.colid = $field");
      return ($x==1?1:0);

by R.M.R.A
huib at bestia dot com
11 years ago
If you need a more detailed discription of your column type,

This query shows your true datatypes like:

binary => binary
varbinary => varbinary
varchar => varchar
bit => bit
char => char
datetime => datetime
smalldatetime => smalldatetime
decimal => decimal
real => real
float => float
tinyint => tinyint
smallint => smallint
smallmoney => smallmoney
money => money
nchar => nchar
ntext => ntext
text => text
numeric => numeric
nvarchar => nvarchar

SELECT AS tableName, AS columnName, AS columnType
FROM         sysobjects INNER JOIN
                      syscolumns ON = INNER JOIN
                      systypes ON syscolumns.type = systypes.type AND syscolumns.xusertype = systypes.xusertype
nicholas at silverorange dot com
11 years ago
The matching returned values for each of the common datatypes are:

binary => blob
varbinary => blob
varchar => char
bit => bit
char => char
datetime => datetime
smalldatetime => datetime
decimal => real
real => real
float => real
tinyint => int
smallint => int
smallmoney => money
money => money
nchar => char
ntext => text
text => text
numeric => numeric
nvarchar => char
To Top