mysqli_stmt_bind_param
stmt->bind_param
Binds variables to a prepared statement as parameters
Description
Procedural style:
boolmysqli_stmt_bind_param
objectstmt
stringtypes
mixedvar1
mixedvar2, ...
Object oriented style (method):
stmt
bool
bind_param
arraytypes
mixedvar1
mixedvar2, ...
mysqli_stmt_bind_param is used to bind variables for the
parameter markers in the SQL statement that was passed to
mysqli_prepare.
The string types contains one or more characters which specify
the types for the corresponding bind variables
Type specification chars
Character
Description
i
corresponding variable has type integer
d
corresponding variable has type double
s
corresponding variable has type string
b
corresponding variable is a blob and will be send in packages
If data size of a variable exceeds max. allowed package size
(max_allowed_package), you have to specify b in
types and use
mysqli_stmt_send_long_data to send the data in packages.
The number of variables and length of
string types must match the parameters in the statement.
Return values
&return.success;
See also
mysqli_stmt_bind_result,
mysqli_stmt_execute,
mysqli_stmt_fetch,
mysqli_prepare,
mysqli_stmt_send_long_data,
mysqli_stmt_errno,
mysqli_stmt_error
Example
Object oriented style
prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd', $code, $language, $official, $percent);
$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;
/* execute prepared statement */
$stmt->execute();
printf("%d Row inserted.\n", $stmt->affected_rows);
/* close statement and connection */
$stmt->close();
/* Clean up table CountryLanguage */
$mysqli->query("DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Row deleted.\n", $mysqli->affected_rows);
/* close connection */
$mysqli->close();
?>
]]>
Procedural style
]]>
The above examples would produce the following output: