Pembaruan:
Sederhana, sungguh, Anda menetapkan pegangan yang dikembalikan oleh connect
panggil ke $l_dbh
tetapi aktifkan metode di $dbh
. Anda harus gunakan ketat
.
Jawaban asli:
Basis data menangani $dbh
tidak ditentukan yang berarti koneksi gagal. Anda harus memeriksa nilai pengembalian panggilan Anda, atau menentukan { RaiseError => 1}
di connect
telepon untuk mengetahui alasannya.
Lebih lanjut, tidak ada alasan untuk mengawali setiap sub doa dengan &
:Gunakan ConnectFailed( )
alih-alih &ConnectFailed( )
, kecuali jika Anda mengetahui efek awalan sub-doa dengan &
dan keinginan untuk memiliki efek itu.
Dari perldoc perlsub :