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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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




Интерфейс с 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