sqlsrv_field_metadata

Ruft Metadaten für die Felder einer vorbereiteten Anweisung ab. Informationen zur Vorbereitung einer Anweisung finden Sie unter sqlsrv_query oder sqlsrv_prepare. Beachten Sie, dass sqlsrv_field_metadata für alle vorbereiteten Anweisungen und vor oder nach der Ausführung aufgerufen werden kann.

Syntax

sqlsrv_field_metadata( resource $stmt)

Parameter

$stmt: Eine Anweisungsressource, für die Feldmetadaten gesucht werden.

Rückgabewert

Ein array von Arrays oder false. Das Array besteht aus einem Array für jedes Feld im Resultset. Jedes Subarray weist Schlüssel wie in der folgenden Tabelle beschrieben auf. Wenn beim Abrufen von Feldmetadaten ein Fehler vorliegt, wird false zurückgegeben.

Schlüssel Beschreibung

Name

Name der Spalte, der das Feld entspricht.

Type

Numerischer Wert, der einem SQL-Typ entspricht.

Size

Anzahl der Zeichen für Felder des Zeichentyps (char(n), varchar(n), nchar(n), nvarchar(n), XML). Anzahl der Bytes für Felder des binären Typs (binary(n), varbinary(n), UDT). NULL für andere SQL Server-Datentypen.

Precision

Die Genauigkeit für numerische Typen für die Variablengenauigkeit ("real", "numeric", "decimal", "datetime2", "datetimeoffset" und "time"). NULL für andere SQL Server-Datentypen.

Scale

Die Skalierung für Typen mit variabler Skalierung ("numeric", "decimal", "datetime2", "datetimeoffset" und "time"). NULL für andere SQL Server-Datentypen.

Nullable

Ein enumerierter Wert, der angibt, ob eine Spalte NULL-Werte zulässt (SQLSRV_NULLABLE_YES), nicht zulässt (SQLSRV_NULLABLE_NO) oder unbekannt ist, ob die Spalte NULL-Werte zulässt (SQLSRV_NULLABLE_UNKNOWN).

Die folgende Tabelle enthält weitere Informationen zu den Schlüsseln für jedes Subarray (in der SQL Server-Dokumentation finden Sie weitere Informationen zu diesen Typen):

SQL Server 2008-Datentyp Typ Min./Max. Genauigkeit Min./Max. Skalierung Größe

bigint

-5

8

binary

-2

0 < n < 8000 1

bit

-7

char

1

0 < n < 8000 1

date

91

10/10

0/0

datetime

93

23/23

3/3

datetime2

93

19/27

0/7

datetimeoffset

-155

26/34

0/7

decimal

3

1/38

0/Genauigkeitswert

float

6

4/8

image

-4

2 GB

int

4

money

3

19/19

4/4

nchar

-8

0 < n < 4000 1

ntext

-10

1 GB

numeric

2

1/38

0/Genauigkeitswert

nvarchar

-9

0 < n < 4000 1

real

7

4/4

smalldatetime

93

16/16

0/0

smallint

5

2 Byte

smallmoney

3

10/10

4/4

text

-1

2 GB

time

-154

8/16

0/7

timestamp

-2

8 Byte

tinyint

-6

1 Byte

udt

-151

variable

uniqueidentifier

-11

16

varbinary

-3

0 < n < 8000 1

varchar

12

0 < n < 8000 1

xml

-152

0

(1) NULL (0) gibt an, dass die maximale Größe zulässig ist.

Der Nullable-Schlüssel kann den Wert "yes" oder "no" aufweisen.

Beispiel

Im folgenden Beispiel wird zunächst eine Anweisungsressource erstellt, dann werden die Feldmetadaten abgerufen und angezeigt. Im Beispiel wird davon ausgegangen, dass SQL Server und die AdventureWorks-Datenbank auf dem lokalen Computer installiert sind. Alle Ausgaben werden in die Konsole geschrieben, wenn das Beispiel über die Befehlszeile ausgeführt wird.

<?php
/* Connect to the local server using Windows Authentication and
specify the AdventureWorks database as the database in use. */
$serverName = "(local)";
$connectionInfo = array( "Database"=>"AdventureWorks");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
     echo "Could not connect.\n";
     die( print_r( sqlsrv_errors(), true));
}

/* Prepare the statement. */
$tsql = "SELECT ReviewerName, Comments FROM Production.ProductReview";
$stmt = sqlsrv_prepare( $conn, $tsql);

/* Get and display field metadata. */
foreach( sqlsrv_field_metadata( $stmt) as $fieldMetadata)
{
      foreach( $fieldMetadata as $name => $value)
      {
           echo "$name: $value\n";
      }
      echo "\n";
}

/* Note: sqlsrv_field_metadata can be called on any statement
resource, pre- or post-execution. */

/* Free statement and connection resources. */
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
?>

Siehe auch

Konzepte

SQLSRV-Konstanten
Informationen zu den Codebeispielen in der Dokumentation

Weitere Ressourcen

API-Referenz (SQL Server-Treiber für PHP)