Forum Webscript.Ru
Программирование => Perl => Тема начата: Phoinix от 06 Ноября 2003, 18:10:49
-
При использовании DBI 1.37 и DBD::mysql 2.1026
в коде:
$dbh1 = "DBI:mysql:$name_base_mysql:$host_base_mysql:$port_base_mysql";
$dbh = DBI->connect($dbh1, $user_base_mysql, $pass_base_mysql);
$sql = "SELECT * FROM table1"
$sth = $dbh -> prepare($sql); $sth -> execute();
while ($tmp = $sth -> fetchrow_arrayref()) {выбираем данные}
$sth -> finish();
$sql = "SELECT * FROM table2"
$sth = $dbh -> prepare($sql); $sth -> execute();
while ($tmp = $sth -> fetchrow_arrayref()) {выбираем данные}
$sth -> finish();
$dbh -> disconnect();
При выполнении второго запроса вываливается ошибка:
DBD::mysql::st fetchrow_arrayref failed: fetch() without execute()
если делаю так:
$dbh1 = "DBI:mysql:$name_base_mysql:$host_base_mysql:$port_base_mysql";
$dbh = DBI->connect($dbh1, $user_base_mysql, $pass_base_mysql);
$sql = "SELECT * FROM table1"
$sth = $dbh -> prepare($sql); $sth -> execute();
while ($tmp = $sth -> fetchrow_arrayref()) {выбираем данные}
$sth -> finish();
$dbh -> disconnect();
$dbh = DBI->connect($dbh1, $user_base_mysql, $pass_base_mysql);
$sql = "SELECT * FROM table2"
$sth = $dbh -> prepare($sql); $sth -> execute();
while ($tmp = $sth -> fetchrow_arrayref()) {выбираем данные}
$sth -> finish();
$dbh -> disconnect();
Все работает нормально...
Непойму, так и должно быть или что-то я делаю неправильно? И насколько connect и disconnect подтормаживают скрипт?
-
так быть не должно (afaik).
Через $dbh->trace(4, "/path/to/log"); отлаживать пробовал ?
-
Макс
Не не пробовал, попробую...