in reply to Re^2: DBI, place holders and CGI forms
in thread DBI, place holders and CGI forms
You generally use placeholders or DBI's quote but usually not both. I never use quote myself. placeholders are generally the way to go because you can often prepare the SQL once with the placeholders and execute as many times as you like - thus saving parsing and preparing of the SQL repeatedly.
When DBI says don't quote placeholders it means don't run the quote method on placeholders i.e., don't do:
$s = $h->prepare(/select * from table where a = ?/); $s->execute($h->quote("myvalueforcolumna"));
You use quote when you are building all the SQL yourself and not using placeholders so the above would be:
$s = $h->prepare(q/select * from table where a = / . $h->quote("myva +lueforcolumna");
Try and stick with placeholders. I don't know your schema but you can usually do something like:
select col1, col2, col3 from tab_name where (? is null or foo = ?) a +nd (? is null or bar = ?) and (? is null or baz = ?)
then pass each value for foo, bar and baz twice
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^4: DBI, place holders and CGI forms (quote++)
by tye (Sage) on Jun 02, 2011 at 18:25 UTC | |
by mje (Curate) on Jun 03, 2011 at 10:13 UTC | |
Re^4: DBI, place holders and CGI forms
by Anonymous Monk on Jun 03, 2011 at 07:57 UTC | |
by mje (Curate) on Jun 03, 2011 at 09:20 UTC | |
by Anonymous Monk on Jun 17, 2011 at 14:33 UTC | |
by mje (Curate) on Jun 17, 2011 at 14:58 UTC | |
by Anonymous Monk on Jun 17, 2011 at 15:39 UTC | |
|