mysqli_result::$num_rows

mysqli_num_rows

Gets the number of rows in a result

&reftitle.description;

&style.oop;

`int` `mysqli_result->num_rows`

&style.procedural;

`int` `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. For unbuffered result sets, `mysqli_num_rows` will not return the correct number of rows until all the rows in the result have been retrieved.

&reftitle.parameters;

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

Returns number of rows in the result set.

If the number of rows is greater than `PHP_INT_MAX`, the number will be returned as a string.

&reftitle.examples;

### &style.oop;

    <?php
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");

    /* check connection */
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }

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

        /* determine number of rows result set */
        $row_cnt = $result->num_rows;

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

        /* close result set */
        $result->close();
    }

    /* close connection */
    $mysqli->close();
    ?>

### &style.procedural;

    <?php
    $link = mysqli_connect("localhost", "my_user", "my_password", "world");

    /* check connection */
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }

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

        /* determine number of rows result set */
        $row_cnt = mysqli_num_rows($result);

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

        /* close result set */
        mysqli_free_result($result);
    }

    /* close connection */
    mysqli_close($link);
    ?>

&examples.outputs;

    Result set has 239 rows.

&reftitle.seealso;

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