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
Popis
Procedural 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 &...] )
}
Bind variables for the parameter markers in the SQL statement that was
passed to mysqli_prepare().
Poznámka:
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.
Seznam parametrů
stmt
Procedural style only: A statement identifier
returned by mysqli_stmt_init().
types
A string that contains one or more characters which specify the types
for the corresponding bind variables:
Tabulka 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 |
var1
The number of variables and length of string
types
must match the parameters in the statement.
Návratové hodnoty
Vrací TRUE při úspěchu, FALSE při selhání.
Příklady
Příklad 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(); ?>
|
|
Příklad 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); ?>
|
|
Výše uvedený příklad vypíše:
1 Row inserted.
1 Row deleted. |