On Sat, 2 Apr 2005, Juan Jose Natera wrote:

> Hi,
>
> > It works. But when I do:
> >
> > $StateProvince = 'PA';
> > my $sql1 = "SELECT id, name_short, name_long FROM states WHERE
> > name_short=$StateProvince";
> > $sth1 = $dbh->prepare($sql1);
> > #
> > $sth1->execute();
> >
> > I get a message that:
> >
> > DBD::mysql::st execute failed: Unknown column 'PA' in 'where clause' at
> > TestDBI.pl line 14.
>
> try this:
>
> $StateProvince = q/'PA'/;
> my $sql1 = "SELECT id, name_short, name_long FROM states WHERE
> name_short=$StateProvince";
>
> or better yet:
>
> $StateProvince = q/'PA'/;

For this version, I think you mean:

 $StateProvince = 'PA';

> my $sql = 'SELECT id, name_short, name_long FROM states WHERE name_short= ?';
> $sth = $dbh->prepare($sql);
> $sth->execute($StateProvince);
>
> Basicly $StateProvince in a string value in you sql statement, so you
> either single quote yourself, or let DBI do it.
>
> Regards,
>
> JJ

Reply via email to