2014-01-25 2 views
0

를 이용한 부정 값의 "준비"호출 할 수 없습니다) 나는 오류가 발생 :는 Advancer.pm, 방법 I은 펄 모듈 서브이 펄 DBI

Can't call method "prepare" on an undefined value at Advancer.pm line 511.

my $sth = $dbh->prepare(qq{ 

라인 (511)

+1

은 무엇입니까 'validate_extra'에 대한 호출은 어떻게 생겼습니까? 한 눈에 값을 전달하지 못하거나 정의 된 데이터베이스 핸들을 전달하지 못하는 것처럼 보입니다. 데이터베이스 연결이 성공적으로 완료되었는지 확인 했습니까? – rutter

답변

4

당신은 validate_extra에 첫 번째 매개 변수에 대한 정의되지 않은 값을 전달하고있다.

대부분 분명히 전화는 단지

validate_extra(); 

경우이 일어날 것입니다하지만 당신은 실수로 잘못된 변수를 통과 할 수있다, 혹은 원래의 연결이 실패하지만 체크되지 않은 간 :

my $dbh = DBI->connect('DBI:mysql:database=mydb', 'user', 'pass', {PrintError => 0}); 

validate_extra($dbh, $customer, $site);