П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 4097 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 6758 раз(а).

Учебник HTML.
Просмотров 3719 раз(а).

Руководство по PHP5.
Просмотров 5992 раз(а).

Хостинг через призму DNS.
Просмотров 4814 раз(а).

Подборка текстов стандартных документов.
Просмотров 56246 раз(а).

Учебник PHP - Самоучитель
Просмотров 3706 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 8345 раз(а).

Внешние атаки...
Просмотров 4566 раз(а).

Учебник PHP.
Просмотров 3175 раз(а).

SSI в примерах.
Просмотров 176 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Интерфейс с perl (MySQL perl API)

Драйвер MySQL DBD Perl

Этот драйвер представляет собой второй способ обратиться к базе данных MySQL из программы на perl.

В настоящее время эта часть описания интерфейса с perl только немного переработана, относительно версии стандартной pod-документации. Данная часть описания изготовлена с помощью команды pod2html -mke.

Обзор:

  use DBI;
  $dbh = DBI->connect( $host, $database, $user, 'mysql' [, $password] );
  # or
  $dbh = DBI->connect('', '', '', 'mysql', {hostname => "localhost",
                      port => 3333, database => "test",
                      username => "myname", password => "mypassword",});

ПРИМЕР:

#!/usr/bin/perl
use DBI;
$drh = DBI->install_driver('mysql');
$dbh = $drh->connect('','test','','') or die "Error connecting to database";
$dbh->do("DROP TABLE foo");
$dbh->do("CREATE TABLE foo ( Field_1 VARCHAR(60) )");
$count = 1;
while ($count < 500) {
  $sth = $dbh->prepare("INSERT INTO foo VALUES('XXXYYYZZZ')");
  $sth->execute;
  $sth->finish; # Очень важно вызвать finish, иначе не освободится память.
  print "$count\n" unless $count % 10;
  $count = $count + 1;
}

Коротко о главном

DBD::mysql является драйвером для работы с базой данных, управляемой СУБД MySQL. Он портирован Michael 'Monty' Widenius of Alligator Descartes' DBD::msql. Вы должны установить DBI-модуль перед использованием DBD::mysql.

$host может быть просто именем сервера (``up.botik.ru'') или именем сервера с указанием порта (``up.botik.ru:3333'').

$database задает имя базы данных с которой надо связаться.

$user задает имя пользователя для доступа к базе данных. (если не указано, используется идентификатор пользователя текущего процесса).

$password является опциональным и нужно только для аккаунтов, которые имеют не пустые пароли.

Системные переменные, которые использует DBD::mysql:

  • hostname
  • database
  • username
  • password
  • port

Значения в системных переменных отменяют значения, переданные раньше. TCP номер порта, отменяет TCP номер порта, переданный в hostname.

Можно разрешить отладку, установив переменную MYSQL_DEBUG 'd:t:O,filename' (где filename является именем файла для записи протокола). Протокол будет записан в файл только если libmysql откомпилирована с поддержкой отладки (опция DBUG).

Поддерживаются следующие тэги:

  • TABLE
  • TYPE
  • IS_PRI_KEY
  • IS_NOT_NULL
  • LENGTH
  • MAXLENGTH
  • IS_KEY
  • IS_BLOB
  • IS_NUM

Для получения значения поля AUTO_INCREMENT INSERT, надо:

  $id = $dbh->func("_InsertID");

Очень большие числа

Ограничения на работу с ОЧЕНЬ БОЛЬШИМИ числами специфичны для языка perl вообще, а не для какого-либо API в частности. Так что все, что об этом сказано выше, справедливо и в данном случае.

Вставка двоичных строк

В случае вставки двоичных данных в базу данных Вы должны обойти некоторые символы. Вы можете использовать следующий метод:

  $mystring = $dbh->quote($rawstring);

Об авторе интерфейса

Msqlperl разработан (C)1997 Alligator Descartes. Модифицирован Msqlperl by Michael 'Monty' Widenius. Все изменения доступны на условиях public domain. Pod-документация, на которой основана данная глава, и _InsertID

Что можно почитать

DBI(3) для информации об использовании DBD/DBI.

http://www.hermetica.com/technologia/perl/DBI домашняя страничка DBI,
http://www.tcx.se домашняя страничка mysql,
www.hughes.com.au домашняя страничка msql.

Назад | Вперед
Содержание (общее) | Содержание раздела



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru