|
|
mysqli_stmt_bind_param (PHP 5) mysqli_stmt_bind_param (no version information, might be only in CVS) stmt->bind_param -- Binds variables to a prepared statement as parameters DescriptionProcedural style: bool mysqli_stmt_bind_param ( mysqli_stmt stmt, string types, mixed &var1 [, mixed &...] ) Object oriented style (method): class mysqli_stmt { bool bind_param ( string types, mixed &var1 [, mixed &...] ) }
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
Table 1. 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 |
Note:
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.
The number of variables and length of
string types must match the parameters in the statement.
Return Values
Returns TRUE on success or FALSE on failure.
ExamplesExample 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();
}
$stmt = $mysqli->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();
?> |
|
Example 2. 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();
}
$stmt = mysqli_prepare($link, "INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt, 'sssd', $code, $language, $official, $percent);
$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;
/* execute prepared statement */
mysqli_stmt_execute($stmt);
printf("%d Row inserted.\n", mysqli_stmt_affected_rows($stmt));
/* close statement and connection */
mysqli_stmt_close($stmt);
/* Clean up table CountryLanguage */
mysqli_query($link, "DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Row deleted.\n", mysqli_affected_rows($link));
/* close connection */
mysqli_close($link);
?> |
|
The above example will output: 1 Row inserted.
1 Row deleted. |
|
|
|