array, string or numeric data to be added to the prepared statement.
Quantity of items passed must match quantity of placeholders in the
prepared statement: meaning 1 placeholder for non-array
parameters or 1 placeholder per array element.
Return value
mixed - a new DB_result object
for queries that return results (such as
SELECT queries),
DB_OK for queries that manipulate data (such as
INSERT queries)
or a DB_Error object on failure
Check correct processing of the SQL statment with
prepare(). Note that
execute() requires a handle to the statement
returned by prepare(), not the statment itself.
DB_ERROR_MISMATCH
mismatch
Quantity of parameters didn't match quantity of placeholders in
the prepared statment.
Check that the number of placeholders in the
prepare() statement passed to
$query equals the count of entries
passed to $params.
Check the database related section of
PHP-Manual
to detect the reason for this error. In the most cases
a misformed SQL statment. Ie. using LIMIT in a SQL-Statment
for an Oracle database.
Note
This function can not be called
statically.
Warning
The values passed in $data must be literals.
Do not submit SQL functions (for example CURDATE()).
SQL functions that should be performed at execution time need
to be put in the prepared statement.
<?php
// Once you have a valid DB object named $db...
$sth = $db->prepare('INSERT INTO numbers (number) VALUES (?)');
if (PEAR::isError($sth)) {
die($sth->getMessage());
}
$res =& $db->execute($sth, 1);
if (PEAR::isError($res)) {
die($res->getMessage());
}
?>
<?php
// Once you have a valid DB object named $db...
$sth = $db->prepare('INSERT INTO numbers VALUES (?, ?, ?)');
$data = array(1, 'one', 'en');
$db->execute($sth, $data);
?>