我正在从我的perl脚本访问数据库,并且我尝试将if语句放入,以便能够根据用户选择的内容查询不同的内容。
没有if语句它完美地工作但是当我添加if语句时它给了我500错误。
所以这个有效:
my $query = "SELECT * FROM cars";
这个不是:
if( $model eq "All" ){
my $query = "SELECT * FROM cars";
}
答案 0 :(得分:4)
用我声明的变量具有最近的封闭块的范围。在您的情况下,这意味着$query
未在if语句之外声明。
解决方案是将声明置于正确的范围内,例如:在if语句之前。
如果您报告的错误use strict
暗示Global symbol "$query" requires explicit package name
生效,则会导致500错误。