Hello,
I am having a problem with a very simple task and I don't see where the fault 
is. 

The first query works with problem but the second one fails with this error:
 ./test.pl 
OK 1
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the 
manual that corresponds to your MySQL server version for the right syntax to 
use near ''test'' at line 1 at ./test.pl line 28.END


Does anyone know where the problem is? 


     1    #!/usr/bin/perl
     2    use strict;
     3    use warnings;
     4    use 5.010;
     5    use DBI;
     6    
     7    my %db = (
     8       host     => 'mysql.local',
     9       user     => 'app',
    10       password => '12345678',
    11       db       => 'test_db',
    12    );
    13    
    14    my $dbh = DBI->connect(
    15                                
'dbi:mysql:database='.$db{'db'}.';host='.$db{'host'}.';port=3306',
    16                                $db{'user'},
    17                                $db{'password'},
    18                                { AutoCommit => 1, },
    19                              )
    20                  or die "Can't connect to database: $DBI::errstr\n";
    21    
    22    
    23    my $sth = $dbh->prepare("SELECT * FROM test");
    24    $sth->execute() && say "OK 1";
    25    
    26    my $table="test";
    27    $sth = $dbh->prepare("SELECT * FROM ?");
    28    $sth->execute($table) && say "OK 2"
    29    
    30    say "END";




Reply via email to