2015-04-03 120 views
-1

我試圖讓這個方法正常工作,但我在控制檯上得到了語法錯誤輸出。Perl MySQL - 插入查詢

method insert($table, \@columns, \@values) { 
    return if (!$table && !scalar(@columns) && !scalar(@values)); 
    my $fields = join(", ", @columns); 
    my $statement = $self->{mysql}->prepare("INSERT INTO $table ($fields) VALUES " . join(", ", ("?") x scalar(@columns))); 
    $statement->execute(@values); 
    return $statement->{mysql_insertid}; 
} 

任何幫助將不勝感激!

+1

不該值後面括號? 'VALUES(?,?,...)' – choroba 2015-04-03 16:11:13

+1

發佈準確的語法錯誤消息。 – toolic 2015-04-03 16:13:11

回答

3

值應遵循括號:

VALUES(?, ?, ?) 

"VALUES (" . join(', ', ('?') x @columns) . ')' 
+1

謝謝!它修正了:) – user2524169 2015-04-03 16:18:16