PHP Doku:: Holt eine Zeile als numerisches Array - function.msql-fetch-row.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungenmSQLmSQL-Funktionenmsql_fetch_row

Ein Service von Reinhard Neidl - Webprogrammierung.

mSQL-Funktionen

<<msql_fetch_object

msql_field_flags>>

msql_fetch_row

(PHP 4, PHP 5)

msql_fetch_rowHolt eine Zeile als numerisches Array

Beschreibung

array msql_fetch_row ( resource $result )

msql_fetch_row() holt eine Zeile des Abfrageergebnisses, das mit der Ergebniskennung verknüpft ist. Der Datensatz wird als Array zurückgegeben. Alle Spalteninhalte des Ergebnisses werden unter einem numerischen Index, der bei 0 beginnt, gespeichert.

Aufeinanderfolgende Aufrufe von msql_fetch_row() geben jeweils die nächste Zeile des Abfrageergebnisses zurück, oder FALSE, wenn keine Datensätze mehr gelesen werden können.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von msql_query().

Rückgabewerte

Gibt ein Array mit einem Element für jede Spalte des Datensatzes zurück, oder FALSE, falls kein Datensatz mehr geholt werden kann.

Beispiele

Beispiel #1 msql_fetch_row()-Beispiel

<?php
$con 
msql_connect();
if (!
$con) {
    die(
'Verbindungsaufbau fehlgeschlagen: ' msql_error());
}

if (!
msql_select_db('test'$con)) {
    die(
'Fehler beim Auswählen der Datenbank: ' msql_error());
}

$result msql_query('SELECT id, name FROM people'$con);
if (!
$result) {
    die(
'Konnte die Abfrage nicht ausführen: ' msql_error());
}

while (
$row msql_fetch_row($result)) {
    echo 
$row[0] . ': ' $row[1] . "\n";
}

msql_free_result($result);
?>

Changelog

Version Beschreibung
4.3.11 and 5.0.4 Ein Fehler beim Auslesen von Spalten, die NULL enthielten, wurde behoben. Solche Spalten waren nicht im Ergebnisarray enthalten.

Siehe auch


2 BenutzerBeiträge:
- Beiträge aktualisieren...
markmcilroy at ozemail dot com dot au
10.10.2007 1:28
As an experienced programmer I recommend that new programmers do NOT use this function.

Use mqsql_fetch_array instead.

Using this function leads to code like:

<?php

    $surname
= $row[7];

?>

This is a dangerous coding practice and should be avoided.

Changing the original query can break existing code, often in subtle ways that leave 'sleeper' bugs in your system that take months to appear.

Using mysql_fetch_array allows you to write code like:

<?php

    $surname
= $data['surname'];

?>

This code will continue to run properly even columns are added to the originial query.

Also it is much easier to read and makes reading and modiying your code easier, reducing bugs.

Mark McIlroy
Kenneth Redpath
7.07.2005 13:15
Modification to the above code to make it work. Spelling Errors.

<?php
$con
= mysql_connect();
if (!
$con) {
   die(
'Server connection problem: ' . mysql_error());
}

if (!
mysql_select_db('test', $con)) {
   die(
'Database connection problem: ' . mysql_error());
}

$result = mysql_query('SELECT id, name FROM people', $con);
if (!
$result) {
   die(
'Query execution problem: ' . mysql_error());
}

while (
$row = mysql_fetch_row($result)) {
   echo
$row[0] . ': ' . $row[1] . "\n";
}

mysql_free_result($result);
?>



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)