mssql_field_name

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_field_name — Get the name of a field

Описание

string mssql_field_name ( resource $result [, int $offset ] )

Returns the name of field no. offset in 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 name of the specified field index on success, or FALSE on failure.

Смотрите также

Коментарии

This function isn't supported (PHP 4.0.2) if using Sybase/FreeTDS to access SQLServer (linux/solaris/bsd/etc).  Instead, use "mssql_fetch_field()" like so:

$field_name = mssql_fetch_field($query_result, $field_number);
print $field_name->name;
2000-10-07 22:43:06
http://php5.kiev.ua/manual/ru/function.mssql-field-name.html
A simple script to walk through an MSSQL server.
I'm using PHP 4.06 and Freetds 5.1 on Solaris 2.7 and Apache 1.3
Several of the msql_ functions seem to be broken/missing.
This is what I found to work.

<?php
// --------------------------------------------------------
// URL http://server/mssqltest.php?DB=Database&table=TableName
// --------------------------------------------------------
// Default settings: edit to meet your needs
if (!($user)) $user=sa;
if (!(
$pass)) $pass="password";
if (!(
$host)) $host="acer900";
// --------------------------------------------------
// connect to mssql server
$connect mssql_connect($host,$user,$pass) or die ($host." not accessible.");
// select the database
if ($DBmssql_select_db($DB)or die('USE '.$DB.' failed!');
if (!(
$table)) {
   
$query="EXEC sp_tables \"%\",\"%\",\"".$DB."\",\"'TABLE'\"";
   
$linkcol=2;
   
$linkcol="TABLE_NAME";
$linkformat=" <a href=\"%s?DB=".$DB."&table=%s\">%s</a> ";
}else{ 
// tables and DB - Get DATA
   
$query="SELECT * FROM ".$table;
   
$linkformat=" <a href=\"%s\">%s</a> ";
}
if (!(
$DB))    {
   
$query="EXEC sp_databases";
   
$linkcol=0;
   
$linkcol="DATABASE_NAME";
   
$linkformat="<a href=\"%s?DB=%s\">%s</a>";
}

// run query
echo $query."<br>";
$result mssql_query$query) or die('Query failed!');
$fields mssql_num_fields ($result) or die("Num Fields Failed");
$rows   mssql_num_rows ($result);

echo 
"<br>Rows ".$rows." Fields ".$fields."<br>";
echo 
"<TABLE border=1><tr>";
// get field names
for ( $f $f $fields $f++ ){
   
$name mssql_fetch_field($result$f);
    echo 
"<td>".$f.$name->name."</td>";
// Strange here.. without the "X"'s the () is always TRUE??
   
if ($name->name."X" == $linkcol."X"$linkcol $f;
}
echo 
"</tr>";
//Display Data
for ($i 0$i $rows $i =$i +1){
    for (
$f 0$f<$fields $f++){
       
$name=mssql_result($result,$i,$f);
        if (
$f == $linkcol){
printf("<td>".$linkformat."</td>\n",$PHP_SELF,
 
$name $name );
        }
        else{
            echo 
"<td>"$name "</td>";
        }
    }
echo 
"</tr>";
}
echo 
"</TABLE><br>";

// close connection 
mssql_close ($connect);
?>
2002-03-06 03:29:28
http://php5.kiev.ua/manual/ru/function.mssql-field-name.html
There is a limitation of 30 characters for the field name. So if your query has  `fieldname AS really_long_overly_descriptive_name`, you will only get `really_long_overly_descriptiv` back

<?php
// Send a select query to MSSQL
$query mssql_query('SELECT [username] AS [really_long_overly_descriptive_name], [name], [email] FROM [php].[dbo].[userlist]');

echo 
'Result set contains the following field(s):'PHP_EOL;

// Dump all field names in result
for ($i 0$i mssql_num_fields($query); ++$i) {
    echo 
' - ' mssql_field_name($query$i), PHP_EOL;
}

// Free the query result
mssql_free_result($query);
?>

Outputs the following:

Result set contains the following field(s):
 - really_long_overly_descriptiv
 - name
 - email
2013-11-19 14:52:02
http://php5.kiev.ua/manual/ru/function.mssql-field-name.html

    Поддержать сайт на родительском проекте КГБ