Уважаемые подскажите пожайлуста !
Есть вот такой конструктор "объекта":
sub new
{
my $self = {};
$self{dsn} = "DBI:$DBType:$DBName;$DBHost";
$self{dbh} = DBI->connect($self{dsn}, $DBLogin, $DBPassword) || print $DBI::errstr;
$self{sth} = undef;
$self{res} = undef;
bless($self);
return $self;
}
ну и методы ессно...
Пользую например так:
$conn = MyDBI->new(...);
$conn->query("select value from setup where name='$_[0]'");
$conn->rowpresent();
$result = $conn->rowfield('value');
$conn->freeresult();
$conn->destroy();
Так вот, до тех пор пока такой "объект" у меня один - все оk,
но стоит сделать хотябы два чтобы они перекрывались,
например так:
$conn = MyDBI->new(...);
$conn2 = MyDBI->new(...);
...
$conn2->destroy();
$conn->query("select value from setup where name='$_[0]'");
...
то после выполнения $conn2->destroy();
падает и $conn тоже, я так понимаю они "не совсем разделяются",
т.е. совсем не разделяются, хотя bless($self); вроде есть.
На перле пишу недавно, с ООП уже все мозги протер,
подскажите где у меня тут косяк, как их разделить ?
|