DBI question: binding params in HAVING clauses
David Cantrell
david at cantrell.org.uk
Wed Jan 25 16:35:43 GMT 2006
Using SQLite, if I execute this, with the value in the HAVING clause
just there in plain text, it works:
SELECT COUNT(actors.name), countries.name
FROM actorsXcountries, countries, actors
WHERE actors.id = actorsXcountries.actorid AND
countries.id = actorsXcountries.countryid
GROUP BY countries.name
HAVING COUNT(actors.name) < 3
ORDER BY COUNT(actors.name)
but if instead I replace the 3 with a placeholder, and supply it like
so:
$sth = $dbh->prepare('...');
$sth->execute(3);
then the HAVING clause seems to be ignored, and I later get too many
rows back.
Has anyone come across this before? And do you have a solution?
FWIW, I'm using perl 5.8.4, DBD::Sqlite 1.5, and 1.42.
--
David Cantrell | London Perl Mongers Deputy Chief Heretic
If you have received this email in error, please add some nutmeg
and egg whites, whisk, and place in a warm oven for 40 minutes.
More information about the london.pm
mailing list