• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • mssql_field_type()

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

    Gets the type of a field

    Warning

    This function wasREMOVEDin PHP 7.0.0.

    Alternatives to this function include:

    说明

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

    Returns the type of field no.$offsetin$result.

    参数

    $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.

    返回值

    The type of the specified field index on success 或者在失败时返回FALSE.

    范例

    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);
    ?>
    

    以上例程的输出类似于:

    'name' is a type of CHAR(50)
    

    参见

    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
    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
    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