mysqli_result::fetch_row
mysqli_fetch_row
(PHP 5, PHP 7, PHP 8)
mysqli_result::fetch_row -- mysqli_fetch_row — Fetch the next row of a result set as an enumerated array
说明
面向对象风格
过程化风格
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.
注意: 此函数将 NULL 字段设置为 PHP
null
值。
参数
-
result
-
仅以过程化样式:由 mysqli_query()、mysqli_store_result()、 mysqli_use_result()、mysqli_stmt_get_result() 返回的 mysqli_result 对象。
返回值
Returns an enumerated array representing the fetched row, null
if there
are no more rows in the result set, 或者在失败时返回 false
.
范例
示例 #1 mysqli_result::fetch_row() example
面向对象风格
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";
$result = $mysqli->query($query);
/* fetch object array */
while ($row = $result->fetch_row()) {
printf("%s (%s)\n", $row[0], $row[1]);
}
过程化风格
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";
$result = mysqli_query($mysqli, $query);
/* fetch associative array */
while ($row = mysqli_fetch_row($result)) {
printf("%s (%s)\n", $row[0], $row[1]);
}
以上例程的输出类似于:
Pueblo (USA) Arvada (USA) Cape Coral (USA) Green Bay (USA) Santa Clara (USA)
参见
- mysqli_fetch_array() - Fetch the next row of a result set as an associative, a numeric array, or both
- mysqli_fetch_assoc() - Fetch the next row of a result set as an associative array
- mysqli_fetch_column() - Fetch a single column from the next row of a result set
- mysqli_fetch_object() - Fetch the next row of a result set as an object
- mysqli_query() - 对数据库执行一次查询
- mysqli_data_seek() - Adjusts the result pointer to an arbitrary row in the result

User Contributed Notes 4 notes
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.
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.
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().
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()
备份地址:http://www.lvesu.com/blog/php/mysqli-result.fetch-row.php