http://qs321.pair.com?node_id=403699


in reply to Quoting in DBI sql query for on the fly query

In your second example the terminating " is missing.

You should use $dbh->quote($line) to ensure that the quoting is correct. This incidentally guards against SQL-injection attacks. You need a chomp to remove the trailing newline in $line

You should write something like (untested):

my @lines = <DATA>; my $line; foreach $line ( @lines ) { chomp($line); #prepare and execute SQL statement $sqlstatement="SELECT Table1.Name, Table1.Address, Table1.City, Table1.State, Table1.ZIP, Table1.Phone FROM Table1 WHERE Table1.BusType = ".$dbh->quote($l +ine); $sth = $dbh->prepare($sqlstatement); }