mssql_field_type
(PHP 4, PHP 5, PECL odbtp >= 1.1.1)
mssql_field_type — Gets the type of a field
Description
string mssql_field_type
( resource
$result
[, int $offset
= -1
] )
Returns the type of field no. offset
in
result
.
Parameters
-
result
-
The result resource that is being evaluated. This result comes from a call to mssql_query().
-
offset
-
The field offset, starts at 0. If omitted, the current field is used.
Return Values
The type of the specified field index on success or FALSE
on failure.
Examples
Example #1 mssql_field_type() example
<?php
// Connect to MSSQL and select the database
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');
// Send a select query to MSSQL
$query = mssql_query('SELECT [name] FROM [php].[dbo].[persons]');
// Print the field type and length
echo '\'' . mssql_field_name($query, 0) . '\' is a type of ' .
strtoupper(mssql_field_type($query, 0)) .
'(' . mssql_field_length($query, 0) . ')';
// Free the query result
mssql_free_result($query);
?>
The above example will output something similar to:
'name' is a type of CHAR(50)
See Also
- mssql_field_length() - Get the length of a field
- mssql_field_name() - Get the name of a field
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с базами данных
- Расширения для работы с базами данных отдельных производителей
- Microsoft SQL Server
- mssql_bind
- mssql_close
- mssql_connect
- mssql_data_seek
- mssql_execute
- mssql_fetch_array
- mssql_fetch_assoc
- mssql_fetch_batch
- mssql_fetch_field
- mssql_fetch_object
- mssql_fetch_row
- mssql_field_length
- mssql_field_name
- mssql_field_seek
- mssql_field_type
- mssql_free_result
- mssql_free_statement
- mssql_get_last_message
- mssql_guid_string
- mssql_init
- mssql_min_error_severity
- mssql_min_message_severity
- mssql_next_result
- mssql_num_fields
- mssql_num_rows
- mssql_pconnect
- mssql_query
- mssql_result
- mssql_rows_affected
- mssql_select_db
Коментарии
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
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
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