in reply to $dbh->quote(..., SQL_INTEGER)
When dealing with parameter passing in DBI, it's often best to use '?' style replacements in the DBI engine. Most (*grumble*FreeTDS*grumble*) of the DBD drivers support this.
So, something like this is what I normally do:
my @values = ( 'SomeValue', 5 ); my $dbh= DBI->connect( $DSN, $user, $pass ); my $SQL = "SELECT * FROM mytable WHERE field1=? LIMIT ?"; my $sth = $dbh->prepare($SQL); $sth->execute( @values );
The 'execute" method of a statement handle expects a standard list, so this is acceptable as well:
$sth->execute( 'SomeValue', 42 );
The nice thing about using the bind parameters is that DBI will automagically quote your values for you. You are responsible for data validation, as is true with most applications. Your solution of using a regular expression to perform data validation is how I usually do it.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: $dbh->quote(..., SQL_INTEGER)
by iburrell (Chaplain) on Sep 02, 2004 at 19:09 UTC |