mysqli_stmt::fetch

mysqli_stmt_fetch

Fetch results from a prepared statement into the bound variables

&reftitle.description;

&style.oop;

public ``bool``null```mysqli_stmt::fetch`

&style.procedural;

``bool``null```mysqli_stmt_fetch` `mysqli_stmt` `statement`

Fetch the result from a prepared statement into the variables bound by `mysqli_stmt_bind_result`.

Note that all columns must be bound by the application before calling `mysqli_stmt_fetch`.

Data are transferred unbuffered without calling `mysqli_stmt_store_result` which can decrease performance (but reduces memory cost).

&reftitle.parameters;

&mysqli.stmt.description;
&reftitle.returnvalues;

&reftitle.returnvalues;

Value | Description
&true; | Success. Data has been fetched
&false; | Error occurred
&null; | No more rows/data exists or data truncation occurred

&reftitle.errors; &mysqli.conditionalexception;
&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();
    }

    $query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

    if ($stmt = $mysqli->prepare($query)) {

        /* execute statement */
        $stmt->execute();

        /* bind result variables */
        $stmt->bind_result($name, $code);

        /* fetch values */
        while ($stmt->fetch()) {
            printf ("%s (%s)\n", $name, $code);
        }

        /* close statement */
        $stmt->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();
    }

    $query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

    if ($stmt = mysqli_prepare($link, $query)) {

        /* execute statement */
        mysqli_stmt_execute($stmt);

        /* bind result variables */
        mysqli_stmt_bind_result($stmt, $name, $code);

        /* fetch values */
        while (mysqli_stmt_fetch($stmt)) {
            printf ("%s (%s)\n", $name, $code);
        }

        /* close statement */
        mysqli_stmt_close($stmt);
    }

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

&examples.outputs;

    Rockford (USA)
    Tallahassee (USA)
    Salinas (USA)
    Santa Clarita (USA)
    Springfield (USA)

&reftitle.seealso;

- `mysqli_prepare`
- `mysqli_stmt_errno`
- `mysqli_stmt_error`
- `mysqli_stmt_bind_result`