(PHP 4, PHP 5, PECL odbtp >= 1.1.1)
mssql_fetch_object — Fetch row as object
$result
)mssql_fetch_object() is similar to mssql_fetch_array(), with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).
Speed-wise, the function is identical to mssql_fetch_array(), and almost as quick as mssql_fetch_row() (the difference is insignificant).
result
The result resource that is being evaluated. This result comes from a call to mssql_query().
Returns an object with properties that correspond to the fetched row, or
FALSE
if there are no more rows.
Example #1 mssql_fetch_object() example
<?php
// Send a select query to MSSQL
$query = mssql_query('SELECT [username], [name] FROM [php].[dbo].[userlist]');
// Check if there were any records
if (!mssql_num_rows($query)) {
echo 'No records found';
} else {
// Print a nice list of users in the format of:
// * name (username)
echo '<ul>';
while ($row = mssql_fetch_object($query)) {
echo '<li>' . $row->name . ' (' . $row->username . ')</li>';
}
echo '</ul>';
}
// Free the query result
mssql_free_result($query);
?>
Note: 此函数返回的字段名大小写敏感。
Note: 此函数将 NULL 字段设置为 PHP
NULL
值。
rubin at afternet dot org (2005-01-20 17:13:43)
It is important to point out that the result of both
SELECT ' '
and
SELECT ''
is the string ' '.
That is, the php mssql functions will return a phantom space for any empty strings.
See http://bugs.php.net/bug.php?id=26996 and http://bugs.php.net/bug.php?id=25777
PHP does not classify this as a "bug" because the MS DBLib cannot tell the difference betwene the two cases. Earlier versions of php trim'd strings automatically.
It may be a good idea to ltrim and rtrim your results in some cases.
klystofer at brturbo dot com (2003-07-10 10:42:29)
<?php
/*
A simple example using mssql_fetch_object
*/
$conexao = mssql_connect("myServer","myUser","myPass");
mssql_select_db("myDB",$conexao);
$query = mssql_query("SELECT EMPRESA FROM IDENTIFICACAO ORDER BY EMPRESA;");
while ($retorno = mssql_fetch_object($query))
echo "Empresa:" . $retorno->EMPRESA;
?>