PHP 5.5.16 is released

mssql_field_length

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

mssql_field_lengthLiefert die Länge eines Feldes

Beschreibung

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

Gibt die Länge des Feldes Nr. offset aus result zurück.

Parameter-Liste

result

Der Bezeichner des Ergebnisses, das ausgewertet wird. Dieses Ergebnis stammt von einem Aufruf von mssql_query().

offset

Der Offset des Feldes, beginnend bei 0. Falls er nicht angegeben wurde, wird das aktuelle Feld verwendet.

Rückgabewerte

Gibt die Länge des angegebenen Feldes zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mssql_field_length()-Beispiel

<?php
// Mit MSSQL verbinden und Datenbank auswählen
mssql_connect('MANGO\SQLEXPRESS''sa''phpfi');
mssql_select_db('php');

// Eine select-Anfrage an MSSQL senden
$anfrage mssql_query('SELECT [name], [age] FROM [php].[dbo].[persons]');

// Feldlänge ausgeben
echo 'Das Feld \'age\' hat die Datenlänge ' .
      
mssql_field_length($anfrage1);

// Den Ergebnisspeicher freigeben
mssql_free_result($anfrage);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Das Feld 'age' hat die Datenlänge 4

Anmerkungen

Hinweis: Anmerkung für Windows-Benutzer

Wegen einer Einschränkung der von PHP verwendeten zugrundeliegenden API (MS DBLib C API) ist die Länge von VARCHAR-Feldern auf 255 begrenzt. Verwenden Sie stattdessen ein TEXT-Feld, wenn Sie mehr Daten speichern wollen.

Siehe auch

add a note add a note

User Contributed Notes 2 notes

up
0
zz(lost dot childz at gmail dot com)
6 years ago
there are same problem with VARBINARY, if you are forced to use existing database with such fields you can do it like this:

SELECT CAST(master.dbo.fn_varbintohexstr(VARBINARYFIELD) AS TEXT) FROM table;
up
0
Anonymous
9 years ago
You can also work around this limitation with the following:

   -- for example, with MyVarCharField VARCHAR(1000)
   SELECT CAST(MyVarCharField AS TEXT) FROM MyTable
To Top