(PHP 4, PHP 5)

mysql_resultGet result data


Această extensie a devenit învechită în PHP 5.5.0 și a fost eliminată în PHP 7.0.0. În locul ei trebuie utilizată extensia MySQLi sau PDO_MySQL. Accesați de asemenea ghidul MySQL: selectarea unei API și FAQ asociat pentru informații suplimentare. Variante alternative pentru această funcție includ:


mysql_result ( resource $result , int $row [, mixed $field = 0 ] ) : string

Retrieves the contents of one cell from a MySQL result set.

When working on large result sets, you should consider using one of the functions that fetch an entire row (specified below). As these functions return the contents of multiple cells in one function call, they're MUCH quicker than mysql_result(). Also, note that specifying a numeric offset for the field argument is much quicker than specifying a fieldname or tablename.fieldname argument.



Rezultatul de tip resource, care este evaluat. Acest rezultat provine de la apelul funcției mysql_query ().


The row number from the result that's being retrieved. Row numbers start at 0.


The name or offset of the field being retrieved.

It can be the field's offset, the field's name, or the field's table dot field name (tablename.fieldname). If the column name has been aliased ('select foo as bar from...'), use the alias instead of the column name. If undefined, the first field is retrieved.

Valorile întoarse

The contents of one cell from a MySQL result set on success, or FALSE on failure.


Example #1 mysql_result() example

if (!
$link) {
'Could not connect: ' mysql_error());
if (!
mysql_select_db('database_name')) {
'Could not select database: ' mysql_error());
$result mysql_query('SELECT name FROM work.employee');
if (!
$result) {
'Could not query:' mysql_error());
mysql_result($result2); // outputs third employee's name




Calls to mysql_result() should not be mixed with calls to other functions that deal with the result set.

A se vedea și

add a note add a note

User Contributed Notes 7 notes

freedman at FreeFormIT dot com
5 years ago
here's a rough replacement using mysqli:

if (!function_exists('mysql_result')) {
    function mysql_result($result, $number, $field=0) {
        mysqli_data_seek($result, $number);
        $row = mysqli_fetch_array($result);
        return $row[$field];
bob dot schuon at loungelizard dot com
11 months ago
This function accounts for the ability of the original function to accept "table_name.field_name" entries as well as just the field name:

function mysqli_result($res, $row, $field=0) {
    $data = $result->fetch_array();
    $field_name = $field;
    if ( is_string($field) ) {
      $fields_array = explode(".", $field);
      $array_len = count($fields_array);
      if ($array_len > 1) {
        $field_name = $fields_array[array_len - 1];
      } else {
         $field_name = $fields_array[0];
    return $data[$field_name];
v dot teemu at gmail dot com
4 years ago
I was also looking for mysqli replacement for getting first row, when query is known to return just 1 value. It seems this is simple:

echo(mysql_result($result, 0));




if ($row = $result->fetch_row()) {
adam dot chou at gmail dot com
12 years ago
mysql_result() will throw E_WARNING if mysql_query returns 0 rows. This is unlike any of the mysql_fetch_* functions so be careful of this if you have E_WARNING turned on in error_reporting(). You might want to check mysql_num_rows() before calling mysql_result()
harmmeiier at gmail dot com
6 years ago
An example of how to easily port this to mysqli would be nice instead of some links to functions that don't really do what this function does.
bruce at kaskubar dot com
9 years ago
The warning against mixing the use of mysql_result with other result set functions is a bit generic. More specifically, mysql_result alters the result set's internal row pointer (at least in a LAMP environment). This is anything but obvious as the nature of the function is random access for grabbing a quick byte. Using mysql_data_seek after some mysql_result calls, before going into a mysql_fetch_array loop, will set things straight.
raz0 at NOSPAM dot worldonline dot dk
17 years ago
If you want to fetch the result from a mysql query similar to one of these two queries...

$query = mysql_query("SELECT COUNT(*) FROM table");
$query = mysql_query("SELECT LAST_INSERT_ID()");

... you would use mysql_result() like shown below to retrieve the output as an int.

$result = mysql_result($query, 0, 0);
To Top