mysqli_stmt::fetch

mysqli_stmt_fetch

Fetch results from a prepared statement into the bound variables

Description

Object oriented style

bool mysqli_stmt::fetch ( void )

Procedural style

bool mysqli_stmt_fetch ( mysqli_stmt $stmt )

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

Note:

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

Note:

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

Parameters

stmt

Procedural style only: A statement identifier returned by mysqli_stmt_init.

Return Values

Return Values
Value Description
TRUE Success. Data has been fetched
FALSE Error occurred
NULL No more rows/data exists or data truncation occurred

Examples

Example #1 Object oriented style

<?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();
?>

Example #2 Procedural style

<?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);
?>

The above examples will output:

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

See Also

  • mysqli_prepare
  • mysqli_stmt_errno
  • mysqli_stmt_error
  • mysqli_stmt_bind_result