Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> запрос к таблице mysql 
:(
    Опции темы
Rezzonans
Дата 10.11.2005, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 21.4.2005

Репутация: нет
Всего: нет



Народ, такая проблема:
Есть база данных mysql с именем prb. В ней одна таблица с именем one, в которой два столбца name и birth. Пытаюсь сделать запрос и вывеси на экран содержимое таблицы и никак. Компилятор говорит нечто вроде:

Цитата

DBD::mysql:st bind_columns failed: Statement has no result columns to bind (perhaps you need to succsessfully call ececute first) at Untitled line 18


Код

#!perl -w

use CGI::Carp qw(fatalsToBrowser);
use DBI;
print "Content-type: text/html\n\n";

$db = "DBI:mysql:prb:localhost";
$user = "root";
$pwd = "html40";

my $dbh = DBI->connect($db, $user, $pwd);

my $query = "SELECT name, birth FROM one";
my $sth = $dbh->prepare($query);

my ($name, $date);

$sth->bind_columns(undef, \($name, $date));

$sth->execute();

while($sth->fetch()){
       print "Имя: $name<br> Дата: $date<br>";
       }



$dbh->disconnect();


А вот результат работы (в таблице 2 строки):

Цитата

Имя:
Дата:
Имя:
Дата:


Это сообщение отредактировал(а) Rezzonans - 10.11.2005, 01:11
--------------------
Первый детектор лжи был собран из ребра мужчины. Впрочем, до сих пор, никаких изменений не притерпел
PM MAIL   Вверх
sharq
Дата 11.11.2005, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 2
Всего: 28



Rezzonans в таблице записи есть? smile

Цитата(Rezzonans @ 10.11.2005, 02:10)
my ($name, $date);
$sth->bind_columns(undef, \($name, $date));
$sth->execute();
while($sth->fetch()){
      print "Имя: $name<br> Дата: $date<br>";
      }

Ты где это такое взял? Сам придумал? smile

perldoc DBI или на русском качать здесь.

smile



--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
Alexzander
Дата 12.11.2005, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 25.6.2005

Репутация: нет
Всего: нет



Код

  require DBI;
  my( $database, $user, $password ) = ( 'database','database_user','database_pass');

 my $dbh = DBI->connect("DBI:mysql:database=$database;host=localhost",$user, $password) || die $DBI::errstr;

  my $qry = "SELECT name, birth FROM one";

  my $result = $or_dbh->prepare($qry);
  $result->execute() || die $DBI::errstr; 
  
  while( my $ln = $result->fetchrow_hashref() )
  {
    print "Имя: $ln->{'name'}<br> Дата: $ln->{'birth'}<br>"
  }

PM MAIL   Вверх
Rezzonans
Дата 13.11.2005, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 21.4.2005

Репутация: нет
Всего: нет



sharq кстати взял из той же документации на perldoc.narod.ru. Спасибо, Alexzander, но эта хренатень опять не работает. Вот что теперь она мне выдаёт:

Цитата

Software error:
Can't call method "prepare" on an undefined value at Untitled line 13.

For help, please send mail to this site's webmaster, giving this error message and the time and date of the error.


Это сообщение отредактировал(а) Rezzonans - 13.11.2005, 15:39
--------------------
Первый детектор лжи был собран из ребра мужчины. Впрочем, до сих пор, никаких изменений не притерпел
PM MAIL   Вверх
Rezzonans
Дата 13.11.2005, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 21.4.2005

Репутация: нет
Всего: нет



аа, заработала. Там ошибка в коде!
--------------------
Первый детектор лжи был собран из ребра мужчины. Впрочем, до сих пор, никаких изменений не притерпел
PM MAIL   Вверх
Alexzander
Дата 14.11.2005, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 25.6.2005

Репутация: нет
Всего: нет



Да.. очепятка. Вместо $or_dbh надо написать $dbh (8-я строка).
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0527 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.