mysqli_bind_param

(PHP 5 CVS only)

mysqli_bind_param

(no version information, might be only in CVS)

stmt->bind_param -- Binds variables to a prepared statement as parameters

Description

Procedural style:

bool mysqli_bind_param ( object stmt, string types, mixed var1 [, mixed var2, ...])

Object oriented style (method):

class stmt {

bool bind_param ( array types, mixed var1 [, mixed var2, ...])

}

mysql_bind_param() is used to bind variables for the parameter markers in the SQL statement that was passed to mysql_prepare(). The string types contains one or more characters which specify the types for the corresponding bind variables

Tabela 1. Type specification chars

CharacterDescription
icorresponding variable has type integer
dcorresponding variable has type double
scorresponding variable has type string
bcorresponding variable is a blob and will be send in packages

Notatka: If data size of a variable exceeds max. allowed package size (max_allowed_package), you have to specify b in types and use mysqli_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

Zwraca TRUE w przypadku sukcesu, FALSE w przypadku porażki.

See also

mysqli_bind_result(), mysqli_execute(), mysqli_fetch(), mysqli_prepare(), mysqli_send_long_data(), mysqli_stmt_errno(), mysqli_stmt_error()

Example

Przykład 1. Object oriented style

<?php
$mysqli
= new mysqli("localhost", "my_user", "my_password", "test");

/* create mytable */
$mysqli->query("DROP TABLE IF EXISTS mytable");
$mysqli->query("CREATE TABLE mytable (a int, b int, c varchar(30))");
    
/* prepare statement and bind parameters */
$stmt = $mysqli->prepare("INSERT INTO mytable VALUES (?, ?, ?)");
$stmt->bind_param("iis", $a, $b, $c);

$a = 1;
$b = 2;
$c = "I like PHP";

/* execute prepared statement */
$stmt->execute();

/* close statement and connection */
$stmt->close();
$mysqli->close();

Przykład 2. Procedural style

<?php
$link
= mysqli_connect("localhost", "my_user", "my_password", "test") or
die(
"Could not connect: " . mysqli_connect_error());

/* create mytable */
mysqli_query($link, "DROP TABLE IF EXISTS mytable");
mysqli_query($link, "CREATE TABLE mytable (a int, b int, c varchar(30))");
    
/* prepare statement and bind variables for insert statements */
$stmt = mysqli_prepare($link, "INSERT INTO mytable VALUES (?, ?, ?)");
mysqli_bind_param($stmt, "iis", $a, $b, $c);

$a = 1;
$b = 2;
$c = "I like PHP";

/* execute prepared statement */
mysqli_execute($stmt);

/* close statement and connection */
mysqli_stmt_close($stmt);
mysqli_close($link);
?>