execute
$rv = $sth->execute || die $sth->errstr; $rv = $sth->execute(@bind_values) || die $sth->errstr;
Performs
whatever
processing is necessary to execute the prepared statement. An
undef
is returned if an error occurs. A successful
execute
always returns true regardless of the
number of rows affected, even if it’s zero (see below). It is
always important to check the return status of
execute
(and most other DBI methods) for errors.
For a non-SELECT
statement,
execute
returns the number of rows affected, if
known. If no rows were affected, then execute
returns 0E0
, which Perl will treat as
0
but will regard as true. Note that it is
not an error for no rows to be affected by a
statement. If the number of rows affected is not known, then
execute
returns -1
.
For SELECT
statements, execute
simply “starts” the query within the database engine. Use
one of the fetch methods to retrieve the data after calling
execute
. The execute
method
does not return the number of rows that will be
returned by the query (because most databases can’t tell in
advance), it simply returns a true value.
If any arguments are given, then execute
will
effectively call bind_ param
for each value before
executing the statement. Values bound in this way are usually treated
as SQL_VARCHAR
types unless the driver can
determine the correct type (which is rare), or unless bind_ param
(or bind_ param_inout
) has already
been used to specify the type.