PHP Velho Oeste 2024

mssql_field_type

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

mssql_field_typeLiefert den Typ eines Feldes

Warnung

Diese Funktion wurde in PHP 7.0.0 REMOVED (entfernt).

Alternativ können folgende Features verwendet werden:

Beschreibung

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

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

Parameter-Liste

result

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

offset

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

Rückgabewerte

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

Beispiele

Beispiel #1 mssql_field_type()-Beispiel

<?php
// Mit MSSQL verbinden und Datenbank auswählen
mssql_connect('MANGO\SQLEXPRESS''sa''phpfi');
mssql_select_db('php');

// 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
mssql_free_result($anfrage);
?>

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

up
1
rmorales at protel dot net dot mx
20 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;
      mssql_select_db('master');
      $result=mssql_query("SELECT syscolumns.isnullable
FROM sysobjects INNER JOIN
    syscolumns ON sysobjects.id = syscolumns.id WHERE sysobjects.name ='$table' AND syscolumns.isnullable = 1");
      $x=mssql_num_rows($result);
      mssql_close($conn);
      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;
      mssql_select_db('master');
      $result=mssql_query("SELECT sysindexkeys.colid FROM sysobjects INNER JOIN sysindexkeys ON sysobjects.id = sysindexkeys.id WHERE sysobjects.name ='$table' AND sysindexkeys.colid = $field");
      $x=mssql_num_rows($result);
      mssql_close($conn);
      return ($x==1?1:0);

}
by R.M.R.A
up
0
huib at bestia dot com
18 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     sysobjects.name AS tableName, syscolumns.name AS columnName, systypes.name AS columnType
FROM         sysobjects INNER JOIN
                      syscolumns ON sysobjects.id = syscolumns.id INNER JOIN
                      systypes ON syscolumns.type = systypes.type AND syscolumns.xusertype = systypes.xusertype
up
-1
nicholas at silverorange dot com
19 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