mysqli_stmt::bind_param
mysqli_stmt_bind_param
Binds variables to a prepared statement as parameters
&reftitle.description;
&style.oop;
boolmysqli_stmt::bind_param
stringtypes
mixedvar1
mixed...
&style.procedural;
boolmysqli_stmt_bind_param
mysqli_stmtstmt
stringtypes
mixedvar1
mixed...
Bind variables for the parameter markers in the SQL statement that was
passed to mysqli_prepare.
If data size of a variable exceeds max. allowed packet size
(max_allowed_packet), you have to specify b in
types and use
mysqli_stmt_send_long_data to send the data in packets.
Care must be taken when using mysqli_stmt_bind_param in conjunction
with call_user_func_array. Note that mysqli_stmt_bind_param
requires parameters to be passed by reference, whereas call_user_func_array
can accept as a parameter a list of variables that can represent references or values.
&reftitle.parameters;
&mysqli.stmt.description;
types
A string that 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 sent in packets
var1
The number of variables and length of string
types must match the parameters in the statement.
&reftitle.returnvalues;
&return.success;
&reftitle.examples;
&style.oop;
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();
?>
]]>
&style.procedural;
]]>
&examples.outputs;
&reftitle.seealso;
mysqli_stmt_bind_result
mysqli_stmt_execute
mysqli_stmt_fetch
mysqli_prepare
mysqli_stmt_send_long_data
mysqli_stmt_errno
mysqli_stmt_error