The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"mysql"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"mysql"
Сообщение от Shrek Искать по авторуВ закладки on 22-Янв-03, 12:39  (MSK)
я новичок в этом но очень нужна помощь.
нужен реальный пример по созданию таблицы на два поля.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: mysql"
Сообщение от Plus emailИскать по авторуВ закладки on 22-Янв-03, 13:18  (MSK)
>я новичок в этом но очень нужна помощь.
>нужен реальный пример по созданию таблицы на два поля.


CREATE TABLE tablename(
fieldname1 INTEGER,
fieldname2 VARCHAR(50)
);

По умолчанию таблица будет типа MyISAM, так что это указывать не надо.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: mysql"
Сообщение от Plus emailИскать по авторуВ закладки on 22-Янв-03, 13:21  (MSK)
>я новичок в этом но очень нужна помощь.
>нужен реальный пример по созданию таблицы на два поля.


Разумеется прежде ты должен выбрать базу данных в которой будешь создавать. Если ты хочешь это делать через Perl DBI, то имя БД как правило указывается при коннекте:
DBI->connect("DBI:mysql:dbname",$user,$pass);
Если же через shell, то сначала выбери БД
use dbname;
А потом уже CREATE.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: mysql"
Сообщение от Plus emailИскать по авторуВ закладки on 22-Янв-03, 13:21  (MSK)
>я новичок в этом но очень нужна помощь.
>нужен реальный пример по созданию таблицы на два поля.


Разумеется прежде ты должен выбрать базу данных в которой будешь создавать. Если ты хочешь это делать через Perl DBI, то имя БД как правило указывается при коннекте:
DBI->connect("DBI:mysql:dbname",$user,$pass);
Если же через shell, то сначала выбери БД
use dbname;
А потом уже CREATE.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "mysql "
Сообщение от Shrek Искать по авторуВ закладки on 22-Янв-03, 22:15  (MSK)
спасибо. разобрался. работает вот только не могу подключится к базе через перл не совсем ясно что такое dbname. перепробывал многое все равно ошыбка на этой строке.

спасибо.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: mysql "
Сообщение от Plus emailИскать по авторуВ закладки on 22-Янв-03, 23:04  (MSK)
>спасибо. разобрался. работает вот только не могу подключится к базе через перл
>не совсем ясно что такое dbname. перепробывал многое все равно ошыбка
>на этой строке.
>
>спасибо.


Синтаксис подключения
#!/usr/bin/perl
use DBI;
my $dbname="test";
my $user="login";
my $pass="pass";
# Соеденяемся
my $dbh=DBI->connect("DBI:mysql:$dbname",$user,$pass);
# Выходим если не получилось
die "Can't connect to database $dbname. Error:".$DBI::errstr if $DBI::errstr;
# Готовим команду выборки
my $sth=$dbh->prepare("SELECT fld1,fld2 FROM tblname");
# Выбираем данные
while(my @sd=$sth->fetchrow_array){
print "fld1: $sd[0], fld2: $sd[1]\n";
}
exit(0);

В принципе и все, есть еще два метода самой выборки через дескриптор команды:
1) $sd=$sth->fetchrow_arrayref; # К полям обращаешься как $sd->[0],$sd->[1]
2) $sd=$sth->fetchrow_hashref("NAME_lc"); # Медленная, но удобная
К полям обращаешься по имени $sd->{fld1} и $sd->{fld2}.

И выборка через дескриптор БД (тока одну строчку можно так):
my @sd=$dbh->selectrow_array("SELECT fld1,fld2 FROM tblname");
print $sd[0], $sd[1];

Будут вопросы - пиши.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "RE: mysql "
Сообщение от Plus emailИскать по авторуВ закладки on 22-Янв-03, 23:09  (MSK)
>спасибо. разобрался. работает вот только не могу подключится к базе через перл
>не совсем ясно что такое dbname. перепробывал многое все равно ошыбка
>на этой строке.
>
>спасибо.
И еще - если не знаешь что творится - используй
use CGI::Carp 'fatalsToBrowser';

И выводи сообщения типа
print $DBI::errstr if $DBI::errstr;
Вместо принта соответственно можешь использовать die или warn

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "ошыбка"
Сообщение от Shrek Искать по авторуВ закладки on 23-Янв-03, 13:36  (MSK)
всё именно так я и делал проблема была в DBI, теперь я подключаюсь, но просмотреть даные не возможно, ошыбка.

зделал так:
#!/usr/bin/perl
use DBI;
$dbname="mysql";
$user="svi";
$pass="555";
$dbh=DBI->connect("DBI:mysql:$dbname",$user,$pass);
$sth = $dbh->prepare("SELECT host, user FROM user");
while (@row = $sth->fetchrow_array)
{
  print  "host: $row[0] - user: $row[1]\n";
}

выдаёт ошыбку типа:
DBD::mysql::st fetchrow_array failed: fetch() without execute() at ./ms.pl line 14.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "RE: ошыбка"
Сообщение от Plus Искать по авторуВ закладки on 23-Янв-03, 17:10  (MSK)
>всё именно так я и делал проблема была в DBI, теперь я
>подключаюсь, но просмотреть даные не возможно, ошыбка.
>
>зделал так:
>#!/usr/bin/perl
>use DBI;
>$dbname="mysql";
>$user="svi";
>$pass="555";
>$dbh=DBI->connect("DBI:mysql:$dbname",$user,$pass);
>$sth = $dbh->prepare("SELECT host, user FROM user");
>while (@row = $sth->fetchrow_array)
>{
>  print  "host: $row[0] - user: $row[1]\n";
>}
>
>выдаёт ошыбку типа:
>DBD::mysql::st fetchrow_array failed: fetch() without execute() at ./ms.pl line 14.

Извини, стормозил, забыл совсем. После $sth->prepare
поставь $sth->execute();

$sth=$dbh->prepare("SELECT host,user FROM user");
$sth->execute();

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "RE: ошыбка"
Сообщение от Shrek Искать по авторуВ закладки on 23-Янв-03, 17:17  (MSK)
>>всё именно так я и делал проблема была в DBI, теперь я
>>подключаюсь, но просмотреть даные не возможно, ошыбка.
>>
>>зделал так:
>>#!/usr/bin/perl
>>use DBI;
>>$dbname="mysql";
>>$user="svi";
>>$pass="555";
>>$dbh=DBI->connect("DBI:mysql:$dbname",$user,$pass);
>>$sth = $dbh->prepare("SELECT host, user FROM user");
>>while (@row = $sth->fetchrow_array)
>>{
>>  print  "host: $row[0] - user: $row[1]\n";
>>}
>>
>>выдаёт ошыбку типа:
>>DBD::mysql::st fetchrow_array failed: fetch() without execute() at ./ms.pl line 14.
>
>Извини, стормозил, забыл совсем. После $sth->prepare
>поставь $sth->execute();
>
>$sth=$dbh->prepare("SELECT host,user FROM user");
>$sth->execute();

СУПЕР РАБОТАЕТ!
спасибо Plus сменя пиво!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "RE: ошыбка"
Сообщение от Plus emailИскать по авторуВ закладки on 25-Янв-03, 02:36  (MSK)
Пива то? Это я люблю!!! Скажи где обитаешь - есть Аська - лезь - 703633
  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "RE: mysql"
Сообщение от Shrek Искать по авторуВ закладки on 30-Янв-03, 15:38  (MSK)
Вот пожалуйста результат.
http://www.ber.te.ua/telephone/index.htm
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру