mssql_field_length()
(PHP 4, PHP 5, PECL odbtp >= 1.1.1)
Get the length of a field
WarningThis function wasREMOVEDin PHP 7.0.0.
Alternatives to this function include:
- PDOStatement::getColumnMeta()
- sqlsrv_field_metadata()
odbc_field_len()
说明
mssql_field_length(resource $result[,int $offset= -1]): int
Returns the length 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 length of the specified field index on success 或者在失败时返回FALSE
.
范例
Example #1 mssql_field_length() 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], [age] FROM [php].[dbo].[persons]'); // Print the field length echo 'The field \'age\' has a data length of ' . mssql_field_length($query, 1); // Free the query result mssql_free_result($query); ?>
以上例程的输出类似于:
The field 'age' has a data length of 4
注释
Note:Note to Windows UsersDue to a limitation in the underlying API used by PHP(MS DBLib C API), the length ofVARCHARfields is limited to255. If you need to store more data, use aTEXTfield instead.
参见
mssql_field_name()
Get the name of a fieldmssql_field_type()
Gets the type of a field
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;
You can also work around this limitation with the following: -- for example, with MyVarCharField VARCHAR(1000) SELECT CAST(MyVarCharField AS TEXT) FROM MyTable