PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

msql_field_flags> <msql_fetch_object
Last updated: Mon, 26 Nov 2007

view this page in

msql_fetch_row

(PHP 4, PHP 5)

msql_fetch_row — Get row as enumerated array

说明

array msql_fetch_row ( resource $result )

msql_fetch_row() fetches one row of data from the result associated with the specified query identifier. The row is returned as an array. Each result column is stored in an array offset, starting at offset 0.

Subsequent call to msql_fetch_row() would return the next row in the result set, or FALSE if there are no more rows.

参数

result

返回类型为 resource 的结果集。该结果集从 msql_query() 的调用中得到。

返回值

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

范例

Example#1 msql_fetch_row() example

<?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 and 5.0.4 A bug was fixed when retrieving data from columns containing NULL values. Such columns were not placed into the resulting array.



add a note add a note User Contributed Notes
msql_fetch_row
markmcilroy at ozemail dot com dot au
10-Oct-2007 07: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
07-Jul-2005 07: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);
?>

msql_field_flags> <msql_fetch_object
Last updated: Mon, 26 Nov 2007
 
 
show source | credits | sitemap | contact | advertising | mirror sites