PHP 5.6.0beta1 released

mysql_fetch_row

(PHP 4, PHP 5)

mysql_fetch_rowObtiene una fila de resultados como un array numérico

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

Descripción

array mysql_fetch_row ( resource $result )

Devuelve un array numérico que corresponde a la fila recuperada y mueve el puntero de datos interno hacia delante.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

Valores devueltos

Devuelve un array numérico que corresponde a la fila recuperada, o FALSE si no quedan más filas.

mysql_fetch_row() recupera una fila de datos del resultado asociado al identificador de resultados especificado. La fila es devuelta como un array. Cada columna del resultado es almacenada en un índice del array, empezando desde 0.

Ejemplos

Ejemplo #1 Recuperar una fila con mysql_fetch_row()

<?php
$resultado 
mysql_query("SELECT id, email FROM people WHERE id = '42'");
if (!
$resultado) {
    echo 
'No se pudo ejecutar la consulta: ' mysql_error();
    exit;
}
$fila mysql_fetch_row($resultado);

echo 
$fila[0]; // 42
echo $fila[1]; // el valor de email
?>

Notas

Nota: Esta función define campos NULOS al valor NULL de PHP.

Ver también

add a note add a note

User Contributed Notes 7 notes

up
2
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
2
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
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
0
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
-1
pepik at gmail dot cz
9 months 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
-3
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
-6
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