2013-04-23 41 views
0

这是我的代码Perl的SQL SELECT所有

my $results = $dbh->selectall_hashref('SELECT * FROM sample.teachers where term like "$searchterm%"', 'teacher'); 
my $searchedresults= ""; 
foreach my $e (keys %$results) { 
    print "$e\n"; 
    print "searching\n"; 
    $searchedresults = $e; 
    } 
    print $searchresult."\n"; 

我试图从表中MySQL服务器进行搜索。但似乎它不起作用 我用硬编码的方式测试它,通过用普通字符串替换$ searchterm并且可行。不过,我需要使用$搜索关键词,但我想不通为什么它不能正常工作

回答

2
my $results = $dbh->selectall_hashref(
    'SELECT * FROM sample.teachers where term like '.$dbh->quote("$searchterm%"), 
    'teacher' 
); 

my $results = $dbh->selectall_hashref(
    'SELECT * FROM sample.teachers where term like ?, 
    'teacher', 
    undef, 
    "$searchterm%" 
); 
+0

谢谢!现在它工作正常。 – user2285115 2013-04-23 03:34:11