我需要提供一个SQL脚本,该脚本将由用户从网页上提供。 我正在使用perl CGI获取文件及其内容,但无论何时我运行
my $sth = $dbh->prepare("SOURCE /path/to/mysql/script.sql");
$sth->execute() || die $DBI::errstr;
它抛出一个错误说
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在#SOURCE /path/to/mysql/script.sql'附近使用正确的语法;
但同样的声明在MySQL shell中运行良好。
还有其他方法可以执行MySQL脚本吗?
请注意,此脚本可以包含从DDL语句到多个插入到过程的任何内容。这一切都取决于上传它的用户。
另外,
system("mysql < /path/to/mysql/script.sql");
正在抛出与$ENV{}