Hướng dẫn mysqli fetch one row

❮ PHP MySQLi Reference

Example - Object Oriented style

Fetch rows from a result-set:

$mysqli = new mysqli("localhost","my_user","my_password","my_db");

if ($mysqli -> connect_errno) {
  echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
  exit();
}

$sql = "SELECT Lastname, Age FROM Persons ORDER BY Lastname";

if ($result = $mysqli -> query($sql)) {
  while ($row = $result -> fetch_row()) {
    printf ("%s (%s)\n", $row[0], $row[1]);
  }
  $result -> free_result();
}

$mysqli -> close();
?>


Look at example of procedural style at the bottom.


Definition and Usage

The fetch_row() / mysqli_fetch_row() function fetches one row from a result-set and returns it as an enumerated array.


Syntax

Object oriented style:

$mysqli_result -> fetch_row()

Procedural style:

Parameter Values

ParameterDescription
result Required. Specifies a result set identifier returned by mysqli_query(), mysqli_store_result() or mysqli_use_result()

Technical Details

Return Value:Returns an array of strings that corresponds to the fetched row. NULL if there are no more rows in result set
PHP Version:5+

Example - Procedural style

Fetch rows from a result-set:

$con = mysqli_connect("localhost","my_user","my_password","my_db");

if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  exit();
}

$sql = "SELECT Lastname, Age FROM Persons ORDER BY Lastname";

if ($result = mysqli_query($con, $sql)) {
  // Fetch one and one row
  while ($row = mysqli_fetch_row($result)) {
    printf ("%s (%s)\n", $row[0], $row[1]);
  }
  mysqli_free_result($result);
}

mysqli_close($con);
?>



❮ PHP MySQLi Reference


(PHP 4, PHP 5)

mysql_fetch_rowGet a result row as an enumerated array

Description

mysql_fetch_row(resource $result): array

Parameters

result

The result resource that is being evaluated. This result comes from a call to mysql_query().

Return Values

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.

Examples

Example #1 Fetching one row with mysql_fetch_row()

$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
?>

Notes

Note: This function sets NULL fields to the PHP null value.

See Also

  • mysql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • mysql_fetch_assoc() - Fetch a result row as an associative array
  • mysql_fetch_object() - Fetch a result row as an object
  • mysql_data_seek() - Move internal result pointer
  • mysql_fetch_lengths() - Get the length of each output in a result
  • mysql_result() - Get result data

michael and then an at sign wassupy.com

19 years ago

to print an array, simply use print_r(array name)

like this:
    $myrow = mysql_fetch_row($result);
echo "

";
print_r($myrow);
echo "
";

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

20 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.

pepik at gmail dot cz

9 years ago

  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
'
--AUTOR--
'
.$data[0].'
__NÁZEV ČLÁNKU__
'
.$data[1].'
..OBSAH ČLÁNKU..
'
.$data[2];     }   

    include

'Paticka.html'; ?>

larkitetto at gmail dot com

14 years ago

sry :) note now fixed:

$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