msql_fetch_row
(PHP 4, PHP 5)
msql_fetch_row — Get row as enumerated array
Описание
$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
-
Обрабатываемый результат запроса, полученный с помощью функции msql_query().
Возвращаемые значения
Returns an array that corresponds to the fetched row, or FALSE
if
there are no more rows.
Примеры
Пример #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.
|
Смотрите также
- msql_fetch_array() - Fetch row as array
- msql_fetch_object() - Fetch row as object
- msql_data_seek() - Move internal row pointer
- msql_result() - Get result data
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с базами данных
- Расширения для работы с базами данных отдельных производителей
- mSQL
- msql_affected_rows
- msql_close
- msql_connect
- msql_create_db
- msql_createdb
- msql_data_seek
- msql_db_query
- msql_dbname
- msql_drop_db
- msql_error
- msql_fetch_array
- msql_fetch_field
- msql_fetch_object
- msql_fetch_row
- msql_field_flags
- msql_field_len
- msql_field_name
- msql_field_seek
- msql_field_table
- msql_field_type
- msql_fieldflags
- msql_fieldlen
- msql_fieldname
- msql_fieldtable
- msql_fieldtype
- msql_free_result
- msql_list_dbs
- msql_list_fields
- msql_list_tables
- msql_num_fields
- msql_num_rows
- msql_numfields
- msql_numrows
- msql_pconnect
- msql_query
- msql_regcase
- msql_result
- msql_select_db
- msql_tablename
- msql
Коментарии
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);
?>
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