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


in reply to Re^4: Perl and DBI and CGI
in thread Perl and DBI and CGI

I am really sorry that it is not working for you. Actually, I created a temptable and tried executing the code that you are using;
my $ref = $dbh->selectall_arrayref(" select name, email from testtable") || die $dbh->errstr; foreach my $person (@{$ref}) { my ($name,$emai) = @{$person}; print "<font color=\"red\" >Name : $name </font>"; print "<font color=\"blue\"> Email : $email </font><br>"; + }
It runs just fine even with the "Dr. John Bull". Please check the database if some special characters are not slipped thru.
here is the output
Name : Dr. John Bull Email :

Replies are listed 'Best First'.
Re^6: Perl and DBI and CGI
by Anonymous Monk on Jun 24, 2005 at 12:04 UTC
    Code Master,
    I couldn't believe what is happening that the same script gives different results on different machines, finally I add the following code to your script:
    my $ref = $dbh->selectall_arrayref(" select name, email from users") || die $dbh->errstr; foreach my $person (@{$ref}) { my ($name,$emai) = @{$person}; $_=$Name; s/ /_/g; $Name=$_; print "<font color=\"red\" >Name : $name </font>"; print "<font color=\"blue\"> Email : $email </font><br>"; }

    Surprisingly, the result is:
    Name : Dr._John_Bull Email :

    So, it is not DB error, but something else. Do you have any idea how to improve it?
    I can live with the "_" insted the " " but Perl beauty suffers.
    Best regards,
    sOKOle