ConFoo: Call for paper is now Open

mssql_fetch_object

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

mssql_fetch_objectLiefert einen Datensatz als Objekt

Beschreibung

object mssql_fetch_object ( resource $result )

mssql_fetch_object() ist mssql_fetch_array() ähnlich, aber es besteht ein Unterschied: statt eines Arrays wird ein Objekt zurückgegeben. Indirekt bedeutet das, dass nur über die Feldnamen auf die Daten zugegriffen werden kann, nicht aber über ihre Offsets (Zahlen sind als Namen von Eigenschaften nicht erlaubt).

Was die Geschwindigkeit betrifft, ist diese Funktion mit mssql_fetch_array() identisch und fast genauso schnell wie mssql_fetch_row() (der Unterschied ist unbedeutend).

Parameter-Liste

result

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

Rückgabewerte

Gibt ein Objekt mit den Eigenschaften des gelieferten Datensatzes zurück oder FALSE, wenn es keinen weiteren Datensatz gibt.

Beispiele

Beispiel #1 mssql_fetch_object()-Beispiel

<?php
// Eine Select-Anfrage an MSSQL senden
$anfrage mssql_query('SELECT [username], [name] FROM [php].[dbo].[userlist]');

// Überprüfen, ob es Datensätze gab
if (!mssql_num_rows($anfrage)) {
    echo 
'Keine Datensätze gefunden';
} else {
    
// Eine Liste der Benutzer in folgendem Format ausgeben:
    // * name (username)

    
echo '<ul>';

    while (
$datensatz mssql_fetch_object($anfrage)) {
        echo 
'<li>' $datensatz->name ' (' $datensatz->username ')</li>';
    }

    echo 
'</ul>';
}

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

Anmerkungen

Hinweis: Feldnamen, die von dieser Funktion zurückgegeben werden, unterscheiden sich in der Groß-/Kleinschreibung.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Siehe auch

  • mssql_fetch_array() - Liefert einen Ergebnis-Datensatz als assoziatives Array, als numerisches Array oder beides
  • mssql_fetch_row() - Liefert einen Datensatz als indiziertes Array

add a note add a note

User Contributed Notes 2 notes

up
1
rubin at afternet dot org
9 years ago
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.
up
0
klystofer at brturbo dot com
11 years ago
<?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;

?>
To Top