mssql_field_name

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

mssql_field_nameGet the name of a field

Описание

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

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 или FALSE в случае возникновения ошибки.

Примеры

Пример #1 mssql_field_name() example

<?php
// Send a select query to MSSQL
$query mssql_query('SELECT [username], [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);
?>

Результатом выполнения данного примера будет что-то подобное:

Result set contains the following field(s):
 - username
 - name
 - email

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

Коментарии

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

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