mysql_fetch_row

(PHP 4, PHP 5)

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

警告

この拡張モジュールは PHP 5.5.0 で非推奨になりました。将来のバージョンで削除される予定です。 MySQLi あるいは PDO_MySQL を使うべきです。詳細な情報は MySQL: API の選択それに関連する FAQ を参照ください。 この関数の代替として、これらが使えます。

説明

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 値を設定します。

参考

add a note add a note

User Contributed Notes 8 notes

up
6
michael and then an at sign wassupy.com
11 years ago
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.
up
1
murapaka dot sateesh at gmail dot com
3 months ago
<?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);
?>
up
0
m dot s at programmers-online dot net
8 years ago
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;
}
?>
up
-2
a at simongrant dot org
12 years ago
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.
up
-4
ryhan_balboa at yahoo dot com
6 years ago
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.
up
-4
pepik at gmail dot cz
1 year ago
<?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'; ?>
up
-5
larkitetto at gmail dot com
6 years ago
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
up
-9
jhulbert at redf dot com
4 years ago
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>";

?>
To Top