MySQL and PHP
Copyright 1997-2021 the PHP Documentation Group.
mysqli_stmt::bind_result
mysqli_stmt_bind_result
Binds variables to a prepared statement for result storage
Object oriented style
public bool mysqli_stmt::bind_result(mixed var,
mixed vars);
Procedural style
bool mysqli_stmt_bind_result(mysqli_stmt stmt,
mixed var,
mixed vars);
Binds columns in the result set to variables.
When
mysqli_stmt_fetch
is called to fetch data, the MySQL client/server protocol places
the data for the bound columns into the specified variables
var
/vars
.
Note that all columns must be bound after
mysqli_stmt_execute
and prior to calling
mysqli_stmt_fetch
.
Depending on column types bound variables can silently change
to the corresponding PHP type.
A column can be bound or rebound at any time, even after a
result set has been partially retrieved. The new binding takes
effect the next time
mysqli_stmt_fetch
is called.
stmt
Procedural style only: A statement identifier returned
by
mysqli_stmt_init
.
var
The first variable to be bound.
vars
Further variables to be bound.
Returns true
on success or
false
on failure.
Example 3.74 Object oriented style
<?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } /* prepare statement */ if ($stmt = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) { $stmt->execute(); /* bind variables to prepared statement */ $stmt->bind_result($col1, $col2); /* fetch values */ while ($stmt->fetch()) { printf("%s %s\n", $col1, $col2); } /* close statement */ $stmt->close(); } /* close connection */ $mysqli->close(); ?>
Example 3.75 Procedural style
<?php $link = mysqli_connect("localhost", "my_user", "my_password", "world"); /* check connection */ if (!$link) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } /* prepare statement */ if ($stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) { mysqli_stmt_execute($stmt); /* bind variables to prepared statement */ mysqli_stmt_bind_result($stmt, $col1, $col2); /* fetch values */ while (mysqli_stmt_fetch($stmt)) { printf("%s %s\n", $col1, $col2); } /* close statement */ mysqli_stmt_close($stmt); } /* close connection */ mysqli_close($link); ?>
The above examples will output:
AFG Afghanistan ALB Albania DZA Algeria ASM American Samoa AND Andorra
mysqli_stmt_get_result
|
mysqli_stmt_bind_param
|
mysqli_stmt_execute
|
mysqli_stmt_fetch
|
mysqli_prepare
|
mysqli_stmt_prepare
|
mysqli_stmt_init
|
mysqli_stmt_errno
|
mysqli_stmt_error
|