Execute the prepared statement. If the prepared statement included parameter markers, you must either:
call PDOStatement::bindParam() to bind PHP variables to the parameter markers: bound variables pass their value as input and receive the output value, if any, of their associated parameter markers
or pass an array of input-only parameter values
An array of values with as many elements as there are bound parameters in the SQL statement being executed. All values are treated as PDO::PARAM_STR
.
You cannot bind multiple values to a single parameter; for example, you cannot bind two values to a single named parameter in an IN() clause.
You cannot bind more values than specified; if more keys exist in input_parameters
than in the SQL specified in the PDO::prepare(), then the statement will fail and an error is emitted.
Returns TRUE
on success or FALSE
on failure.
The keys from input_parameters
must match the ones declared in the SQL. Before PHP 5.2.0 this was silently ignored.
Some drivers require to close cursor before executing next statement.
1 2 3 4 5 6 7 8 9 10 11 | <?php /* Execute a prepared statement by binding PHP variables */ $calories = 150; $colour = 'red' ; $sth = $dbh ->prepare('SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour'); $sth ->bindParam( ':calories' , $calories , PDO::PARAM_INT); $sth ->bindParam( ':colour' , $colour , PDO::PARAM_STR, 12); $sth ->execute(); ?> |
1 2 3 4 5 6 7 8 9 | <?php /* Execute a prepared statement by passing an array of insert values */ $calories = 150; $colour = 'red' ; $sth = $dbh ->prepare('SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour'); $sth ->execute( array ( ':calories' => $calories , ':colour' => $colour )); ?> |
1 2 3 4 5 6 7 8 9 | <?php /* Execute a prepared statement by passing an array of insert values */ $calories = 150; $colour = 'red' ; $sth = $dbh ->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND colour = ?'); $sth ->execute( array ( $calories , $colour )); ?> |
1 2 3 4 5 6 7 8 9 10 11 | <?php /* Execute a prepared statement by binding PHP variables */ $calories = 150; $colour = 'red' ; $sth = $dbh ->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND colour = ?'); $sth ->bindParam(1, $calories , PDO::PARAM_INT); $sth ->bindParam(2, $colour , PDO::PARAM_STR, 12); $sth ->execute(); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php /* Execute a prepared statement using an array of values for an IN clause */ $params = array (1, 21, 63, 171); /* Create a string for the parameter placeholders filled to the number of params */ $place_holders = implode( ',' , array_fill (0, count ( $params ), '?' )); /* This prepares the statement with enough unnamed placeholders for every value in our $params array. The values of the $params array are then bound to the placeholders in the prepared statement when the statement is executed. This is not the same thing as using PDOStatement::bindParam() since this requires a reference to the variable. PDOStatement::execute() only binds by value instead. */ $sth = $dbh ->prepare( "SELECT id, name FROM contacts WHERE id IN ($place_holders)" ); $sth ->execute( $params ); ?> |
Please login to continue.