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

search for in the

mysql_field_flags> <mysql_fetch_object
Last updated: Fri, 13 Nov 2009

view this page in

mysql_fetch_row

(PHP 4, PHP 5)

mysql_fetch_row結果を添字配列として取得する

説明

array mysql_fetch_row ( resource $result )

取得された行に対応する配列を返し、内部のデータポインタを前に進めます。

パラメータ

result

評価された結果 リソース。 この結果は、mysql_query() のコールにより得られたものです。

返り値

取得された行に対応する文字列の配列を返します。もう行がない場合は、 FALSE を返します。

mysql_fetch_row()は、指定した結果 ID が指す結果から 1 行分のデータを取得します。 各結果カラムは、オフセット 0 から始まる配列に格納されます。

例1 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]; // 'email' の値
?>

注意

注意: この関数は、 NULL フィールドに PHPの NULL 値を設定します。

参考



mysql_field_flags> <mysql_fetch_object
Last updated: Fri, 13 Nov 2009
 
add a note add a note User Contributed Notes
mysql_fetch_row
larkitetto at gmail dot com
21-Feb-2008 11:29
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];
/*debug:
$ris=array("1st_tab"); ... $ris=array("n_tab");$ris=false;*/
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
ryhan_balboa at yahoo dot com
16-Nov-2007 05:23
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.
m dot s at programmers-online dot net
17-Nov-2005 09:56
The following function to read all data out of a mysql-resultset, is may be faster than Rafaels solution:

<?
function mysql_fetch_all($result) {
   while(
$row=mysql_fetch_array($result)) {
      
$return[] = $row;
   }
   return
$return;
}
?>
mysql at polyzing dot com
12-Jul-2003 10:05
It is probably worth pointing out that the array elements will actually be of type string, OR NULL if the field is null in the database.

Thus, either use a double equal comparison to look for empty or null

Or, use a triple equal comparison to be able to distinguish the two cases

e.g.

if ($field === '') echo "Empty, not NULL\n";

if ($field === NULL) echo "NULL\n";

if ($field == '') echo "Empty or NULL\n";
michael and then an at sign wassupy.com
08-Apr-2003 07:09
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.
a at simongrant dot org
06-Feb-2002 01:10
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.

mysql_field_flags> <mysql_fetch_object
Last updated: Fri, 13 Nov 2009
 
 
show source | credits | sitemap | contact | advertising | mirror sites