PHP 5.4.31 Released

msql_fetch_row

(PHP 4, PHP 5)

msql_fetch_row結果の行を数値配列として取得する

説明

array msql_fetch_row ( resource $result )

msql_fetch_row() は、指定したリンク ID が指す 結果から 1 行分のデータを得ます。行は、配列として返されます。 各結果のカラムは、0 から始まる配列オフセットに保存されます。

連続して msql_fetch_row() をコールした場合、 次の行を結果として返します。もう行がない場合には FALSE を返します。

パラメータ

result

評価された結果 リソース。 この結果は、msql_query() のコールにより得られたものです。

返り値

結果の行に対応する配列を返します。もう行がない場合には FALSE を返します。

例1 msql_fetch_row() の例

<?php
$con 
msql_connect();
if (!
$con) {
    die(
'Server connection problem: ' msql_error());
}

if (!
msql_select_db('test'$con)) {
    die(
'Database connection problem: ' msql_error());
}

$result msql_query('SELECT id, name FROM people'$con);
if (!
$result) {
    die(
'Query execution problem: ' msql_error());
}

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

msql_free_result($result);
?>

変更履歴

バージョン 説明
4.3.11 および 5.0.4 NULL 値を含むカラムからデータを取得する際のバグが修正されました。 そのようなカラムは結果の配列に含まれていませんでした。

参考

add a note add a note

User Contributed Notes 2 notes

up
-1
markmcilroy at ozemail dot com dot au
6 years ago
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
up
-1
Kenneth Redpath
9 years ago
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);
?>
To Top