文字

mysqli_result::fetch_row

mysqli_fetch_row

(PHP 5)

mysqli_result::fetch_row -- mysqli_fetch_rowGet a result row as an enumerated array

说明

面向对象风格

mixed mysqli_result::fetch_row ( void )

过程化风格

mixed mysqli_fetch_row ( mysqli_result $result )

Fetches one row of data from the result set and returns it as an enumerated array, where each column is stored in an array offset starting from 0 (zero). Each subsequent call to this function will return the next row within the result set, or NULL if there are no more rows.

参数

result

仅以过程化样式:由 mysqli_query() mysqli_store_result() mysqli_use_result() 返回的结果集标识。

返回值

mysqli_fetch_row() returns an array of strings that corresponds to the fetched row or NULL if there are no more rows in result set.

Note: 此函数将 NULL 字段设置为 PHP NULL 值。

范例

Example #1 面向对象风格

<?php
$mysqli 
= new  mysqli ( "localhost" "my_user" "my_password" "world" );


if ( mysqli_connect_errno ()) {
    
printf ( "Connect failed: %s\n" mysqli_connect_error ());
    exit();
}

$query  "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5" ;

if (
$result  $mysqli -> query ( $query )) {

    

    
while ( $row  $result -> fetch_row ()) {
        
printf  ( "%s (%s)\n" $row [ 0 ],  $row [ 1 ]);
    }

    

    
$result -> close ();
}


$mysqli -> close ();
?>

Example #2 过程化风格

<?php
$link 
mysqli_connect ( "localhost" "my_user" "my_password" "world" );


if ( mysqli_connect_errno ()) {
    
printf ( "Connect failed: %s\n" mysqli_connect_error ());
    exit();
}

$query  "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5" ;

if (
$result  mysqli_query ( $link $query )) {

    

    
while ( $row  mysqli_fetch_row ( $result )) {
        
printf  ( "%s (%s)\n" $row [ 0 ],  $row [ 1 ]);
    }

    

    
mysqli_free_result ( $result );
}


mysqli_close ( $link );
?>

以上例程会输出:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

参见

  • mysqli_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • mysqli_fetch_assoc() - Fetch a result row as an associative array
  • mysqli_fetch_object() - Returns the current row of a result set as an object
  • mysqli_query() - 对数据库执行一次查询
  • mysqli_data_seek() - Adjusts the result pointer to an arbitrary row in the result

用户评论:

[#1] sainthyoga2003 at gmail dot com [2014-03-17 15:35:41]

Note that mysqli_fetch() is deprecated but still is in PHP function list. mysqli_fetch_row() is nowadays mysql procedural style used, but is not listed in PHP functions.

[#2] evangun2001 at yahoo dot fr [2007-09-16 14:24:20]

Remember that fetch() and fetch_row() are two different things, and differ in the way to use them.

- fetch() is used on a statement (like an executed prepared statement) and needs to be used in association with bind_result().

- fetch_row() is used on a result (like the result of query()).

As a consequence, if you want to use to use fetch_row() with an executed prepared statement, first you'll have to get the result out of this statement with mysqli_store_result() or mysqli_use_result().

[#3] Stephen [2007-01-23 02:29:55]

It's worth noting that the MySQLi functions (and, I presume, the MySQL functions) fetch a string regardless of the MySQL data type. E.g. if you fetch a row with an integer column, the corresponding value for that column and row will still be stored as a string in the array returned by mysql_fetch_row.

[#4] maillist at pnpitalia.it [2004-01-06 10:01:54]

from "README.PHP4-TO-PHP5-THIN-CHANGES"

4. Be careful when porting from ext/mysql to ext/mysqli. The following
   functions return NULL when no more data is available in the result set
   (ext/mysql's functions return FALSE).

    - mysqli_fetch_row()
    - mysqli_fetch_array()
    - mysqli_fetch_assoc()

上一篇: 下一篇: