©
This document uses PHP Chinese website manual Release
(PHP 4, PHP 5)
mysql_fetch_row — 从结果集中取得一行作为枚举数组
$result
)
返回根据所取得的行生成的数组,如果没有更多行则返回 FALSE
。
mysql_fetch_row() 从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。
依次调用 mysql_fetch_row()
将返回结果集中的下一行,如果没有更多行则返回 FALSE
。
参见 mysql_fetch_array() , mysql_fetch_assoc() , mysql_fetch_object() , mysql_data_seek() , mysql_fetch_lengths() 和 mysql_result() 。
result
resource 型的结果集。此结果集来自对 mysql_query() 的调用。
Returns an numerical array of strings that corresponds to the fetched row, or
FALSE
if there are no more rows.
mysql_fetch_row() fetches one row of data from the result associated with the specified result identifier. The row is returned as an array. Each result column is stored in an array offset, starting at offset 0.
Example #1 Fetching one row with mysql_fetch_row()
<?php
$result = mysql_query ( "SELECT id,email FROM people WHERE id = '42'" );
if (! $result ) {
echo 'Could not run query: ' . mysql_error ();
exit;
}
$row = mysql_fetch_row ( $result );
echo $row [ 0 ]; // 42
echo $row [ 1 ]; // the email value
?>
Note: 此函数将 NULL 字段设置为 PHP
NULL
值。
[#1] murapaka dot sateesh at gmail dot com [2014-06-04 16:25:30]
<?php
$conn=mysql_connect("localhost","root","");
if($conn)
{
echo("Connection Successfully");
$seldb=mysql_select_db("test",$conn);
if($seldb)
{
echo("Database selected successfully");
$retrive=mysql_query("select name,number from login1 where name='sateesh'",$conn);
if($retrive)
{
echo("Successfully data retrived<br>");
$result=mysql_fetch_row($retrive);
echo ("Name".$result[0]);
echo ("Number".$result[1]);
}
else
{
echo "Table not inserted";
}
}
else
{
die("database not selected");
}
}
else
{
die("connection faild");
}
mysql_close($conn);
?>
[#2] pepik at gmail dot cz [2013-06-19 11:46:07]
<?php
require 'prhlavicka.php';
pis_hlavicku('Vypis ?l??nk?');
require_once 'db.php';
$kom = new server();
$sql=$kom->query("SELECT autor,nazev,obsah FROM `Clanky_Sadek`");
while ($data = mysql_fetch_row($sql)){
ECHO '<br />--AUTOR--<br />'.$data[0].'<br />__N?ZEV ?L?NKU__<br />'.$data[1].'<br />..OBSAH ?L?NKU..<br />'.$data[2]; }
include 'Paticka.html'; ?>
[#3] jhulbert at redf dot com [2010-02-19 13:32:02]
Creates table from all db info:
<?php
$qry = "SELECT * FROM exp_member_data";
$res = mysql_query($mem_qry);
function mysql_fetch_all($res) {
while($row=mysql_fetch_array($res)) {
$return[] = $row;
}
return $return;
}
function create_table($dataArr) {
echo "<tr>";
for($j = 0; $j < count($dataArr); $j++) {
echo "<td>".$dataArr[$j]."</td>";
}
echo "</tr>";
}
$all = mysql_fetch_all($res);
echo "<table class='data_table'>";
for($i = 0; $i < count($all); $i++) {
create_table($all[$i]);
}
echo "</table>";
?>
[#4] larkitetto at gmail dot com [2008-02-21 15:29:26]
sry :) note now fixed:
<?php
$esi=mysql_list_tables($db);$ris=mysql_fetch_row($esi);
//example: $db has >= 1 tabs
echo var_dump($ris);
//echoes only array(1). solution:
while($ris=mysql_fetch_row($esi)) echo $ris[0];
while ($ris[]=mysql_fetch_row($esi));
//debug:$ris=array(array("1st_tab"), ... array("n_tab"));
echo $ris[n][0];//echo:"n_tab"
echo $ris[0][n];//echo:array | null
?>
hope it helps
[#5] ryhan_balboa at yahoo dot com [2007-11-16 09:23:32]
The following are the basic codes to get a specific row from the mysql db into a $row variable:
$query = "SELECT * FROM table";
$result = mysql_query($query);
$row = mysql_fetch_row($result);
And $row[0], $row[1] ... $row[n] are used to access those field values.
Does anyone know how I can add a new field to $row, so that the field count increases from n to n+1?
I have tried treating $row like an array, and tried array_push function, but didn't work.
Thanks.
[#6] m dot s at programmers-online dot net [2005-11-17 01:56:21]
The following function to read all data out of a mysql-resultset, is may be faster than Rafaels solution:
<?php
function mysql_fetch_all($result) {
while($row=mysql_fetch_array($result)) {
$return[] = $row;
}
return $return;
}
?>
[#7] michael and then an at sign wassupy.com [2003-04-08 00:09:15]
to print an array, simply use print_r(array name)
like this:
$myrow = mysql_fetch_row($result);
echo "<pre>";
print_r($myrow);
echo "</pre>";
this will output the array in a readable form, with the index, too. Don't forget the 'pre' tags or the output will be on a single line.
[#8] a at simongrant dot org [2002-02-06 05:10:55]
Maybe worth pointing out that all the fields returned by this (and other?) calls are returned with type string. This had me puzzled for quite some time.