Автор Тема: Не срабатывают два запроса к MySQL при одном подключении  (Прочитано 2143 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
При использовании 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 подтормаживают скрипт?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
так быть не должно (afaik).
Через $dbh->trace(4, "/path/to/log"); отлаживать пробовал ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Макс
Не не пробовал, попробую...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28