mysqli_result::$num_rows

mysqli_num_rows

Gets the number of rows in the result set

&reftitle.description;

&style.oop;

``int``string```mysqli_result->num_rows`

&style.procedural;

``int``string```mysqli_num_rows` `mysqli_result` `result`

Returns the number of rows in the result set.

The behaviour of `mysqli_num_rows` depends on whether buffered or unbuffered result sets are being used. This function returns `0` for unbuffered result sets unless all rows have been fetched from the server.

&reftitle.parameters;

&mysqli.result.description;
&reftitle.returnvalues;

An &integer; representing the number of fetched rows. Returns `0` in unbuffered mode unless all rows have been fetched from the server.

&mysqli.integer.overflow.as.string.note;
&reftitle.examples;

### &style.oop;

    <?php

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");

    $result = $mysqli->query("SELECT Code, Name FROM Country ORDER BY Name");

    /* Get the number of rows in the result set */
    $row_cnt = $result->num_rows;

    printf("Result set has %d rows.\n", $row_cnt);

### &style.procedural;

    <?php

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $link = mysqli_connect("localhost", "my_user", "my_password", "world");

    $result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name");

    /* Get the number of rows in the result set */
    $row_cnt = mysqli_num_rows($result);

    printf("Result set has %d rows.\n", $row_cnt);

&examples.outputs;

    Result set has 239 rows.

&reftitle.notes;

In contrast to the `mysqli_stmt_num_rows` function, this function doesn't have object-oriented method variant. In the object-oriented style, use the getter property.

&reftitle.seealso;

- `mysqli_affected_rows`
- `mysqli_store_result`
- `mysqli_use_result`
- `mysqli_query`
- `mysqli_stmt_num_rows`