Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mysqli_stmt.bind_param(3) [php man page]

MYSQLI_STMT.BIND_PARAM(3)						 1						 MYSQLI_STMT.BIND_PARAM(3)

mysqli_stmt::bind_param - Binds variables to a prepared statement as parameters

       Object oriented style

SYNOPSIS
bool mysqli_stmt::bind_param (string $types, mixed &$var1, [mixed &$...]) DESCRIPTION
Procedural style bool mysqli_stmt_bind_param (mysqli_stmt $stmt, string $types, mixed &$var1, [mixed &$...]) Bind variables for the parameter markers in the SQL statement that was passed to mysqli_prepare(3). 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(3) to send the data in packets. Note Care must be taken when using mysqli_stmt_bind_param(3) in conjunction with call_user_func_array(3). Note that mysqli_stmt_bind_param(3) requires parameters to be passed by reference, whereas call_user_func_array(3) can accept as a parameter a list of variables that can represent references or values. PARAMETERS
o $ stmt -Procedural style only: A statement identifier returned by mysqli_stmt_init(3). o $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 | | | | +----------+---------------------------------------------------+ o $var1 - 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. EXAMPLES
Example #1 Object oriented style <?php $mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world'); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s ", 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. ", $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. ", $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 ", 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. ", 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. ", mysqli_affected_rows($link)); /* close connection */ mysqli_close($link); ?> The above examples will output: 1 Row inserted. 1 Row deleted. SEE ALSO
mysqli_stmt_bind_result(3), mysqli_stmt_execute(3), mysqli_stmt_fetch(3), mysqli_prepare(3), mysqli_stmt_send_long_data(3), mysqli_stmt_errno(3), mysqli_stmt_error(3). PHP Documentation Group MYSQLI_STMT.BIND_PARAM(3)
Man Page