четверг, 19 ноября 2009 г.

База данных с точки зрения MySQL (и некоторых других СУБД) - это обыкновенный каталог, содержащий двоичные файлы определенного формата - таблицы. Таблицы состоят из записей, а записи, в свою очередь, состоят из полей. Поле имеет два атрибута - имя и тип.

Тип поля может быть:



  • Целым;
  • Вещественным;
  • Строковым;
  • Бинарным;
  • Дата и время;
  • Перечисления и множества.

Возможные типы данных, диапазоны и описания представлены в последующих таблицах:

Целочисленные типы данных

ТипДиапазон

TINYINT
-128...+127

SMALLINT
-32768...+32767

MEDIUMINT
-8 388 608...+8 388 607

INT
-2 147 483 648...+2 147 483 647

BIGINT
-9 223 372 036 854 775 808...+9 223 372 036 854 775 807

Вещественные типы записываются в виде:

ТИП (ДЛИНА, ЗНАКИ) [UNSIGNED]

Длина - это колличество знакомест, в которых будет размещено все число при его передаче, а ЗНАКИ - это колличество знаков после десятичной точки, которые будут учитываться. Если указан модификатор UNSIGNED, знак числа учитываться не будет.

Вещественные числа

ТипОписание

FLOAT

Небольшая точность

DOUBLE

Двойная точность

REAL

То же, что и DOUBLE

DECIMAL

Дробное число, хранящееся в виде строки

NUMERIC

То же, что и DECIMAL

Любая строка - это массив символов. При поиске с помощью оператора SELECT (мы рассмотрим его далее) не учитывается регистр символов: строки "HELLO" и "Hello" считаются одинаковыми.

Можно настроить MySQL на автоматическое перекодирование символов - в этом случае в базе данных строки будут храниться в одной кодировке, а выводиться - в другой.

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

VARCHAR(48);
CHAR(73);

Если 255 символов для вашей задачи недостаточно, можно использовать другие типы, например, TEXT.

Строки

ТипОписание

TINYTEXT
Максимальная длина 255 символов

TEXT
Максимальная длина 65535 символов (64 Кб)

MEDIUMTEXT
Максимальная длина 16 777 215 символов

LONGTEXT
Максимальная длина 4 294 967 295 символов

Бинарные типы данных также можно использовать для хранения текста, но при поиске будет учитываться регистр символов. К тому же, любой текстовый тип можно преобразовать в бинарный, указав модификатор BINARY:

VARCHAR(30) BINARY;

Бинарные типы данных

ТипОписание

TINYBLOB
Максимум 255 символов

BLOB
Максимум 65535 символов

MEDIUMBLOB
Максимум 16 777 215 символов

LONGBLOB
Максимум 4 294 967 295

Примечание: Бинарные данные не перекодируются "на лету", если установлена перекодировка символов.

Дата и время

ТипОписание

DATE
Дата в формате ГГГ-ММ-ДД

TIME
Время в формате ЧЧ:ММ:СС

TIMESTAMP
Дата и время в формате timestamp, выводится в виде ГГГГММДДЧЧММСС

DATETIME
Дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС

Другие типы данных MySQL рассматривать бессмысленно, поскольку применение их в PHP нецелесообразно.



http://scrypte.ru


Настройки языка PHP


  • engine = On|Off

Разрешает обработку PHP скриптов.

  • short_open_tag = On|Off

Код PHP может обрамляться упрошенным тэгами с синтаксисом <?. Если эта директивы выключена, то код PHP необходимо выделять символами <?php.

  • asp_tags = On|Off

Разрешает для выделения кода PHP пользоваться тегами в стиле ASP - <% %>

  • Precision = 12

Определяет число цифр после запятой для чисел с плавающей точкой.

  • output_buffering = 4096

Указание размера буфера вывода в байтах включает буферизацию вывода.

  • safe_mode = On|Off

Включение или выключение безопасного режима.

  • safe_mode_allowed_env_vars = PHP_

Директива, позволяющая пользователю устанавливать только переменные окружения, начинающиеся с символов PHP_. Если эта директива пуста, то пользователи могут модифицировать любые переменные окружения, что может создать серьезные проблемы в защите сценариев.

  • safe_mode_protected_env_vars = LD_LIBRARY_PATH

С помощью этой директивы можно запретить изменение переменных окружения, перечислив их через запятую.

  • disable_functions =

Данная директива позволяет запретить вызовы функций, которые перечислены в ней через запятую.

  • disable_classes =

Данная директива позволяет запретить вызовы классов, которые перечислены в ней через запятую.

Ограничение по ресурсам


  • max_execution_time = число

Устанавливется максимальное возможное время выполнения скрипта в секундах.

  • max_input_time = число

Максимально возможное время в секундах, которое скрипт может потратить на обработку загружаемых данных.

  • memory_limit = 8M

Максимальный объем памяти, выделяемый сценарию, составляет, например, 8 Мбайт.

Обработка ошибок и журнализация


  • error_reporting = E_ALL | E_ERROR | E_WARNING | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE

Определяется какие ошибки выводить. Значения error_reporting задается в виде битового поля, т. е. его значение устанавливется с помощью нижеперечисленных констант, объединенных оператором | (OR) и оператора (~) исключение.

  • display_errors = On|Оff

Разрешает или запрещает вывод ошибок и предупреждений в браузер.

  • display_startup_errors = On|Off

Включает или отключет отображение ошибок, возникающих при старте PHP.

  • log_errors = On|Off

Включает или отключает вывод сообщений об ошибках в файл журнала.

  • log_errors_max_len = 1024

Максимальная длина файла журнала составляет, например, 1024 символа.

  • track_errors = On|Off

Включает или отключет сохранение последнего сообщения об ошибке в переменной $php_errormsg

  • html_errors = On|Off

Включает или отключена вывод сообщений об ошибках в HTML.

  • error_log = filename

Имя журнала ошибок.

Обработка данных


  • variables_order = "EGPCS"

Эта директива определяет порядок регистрации переменных GET, POST, Cookie, Environment и встроенных переменных (соответственно, G, P, C, E и S).

  • register_globals = On|Off

Отключена возможность регистрации EGPCS-переменных как глобальных переменных.

  • register_argc_argv = On|Off

Разрешает или запрещает создание переменных $argv и $argc на основе информации, полученной методом GET.

  • register_long_arrays = On|Off

Директива, разрешающая или запрещающая использование для передачи переменных из форм длинных массивов вида $HTTP_***_VARS.

  • post_max_size = 8M

Максимально возможный размер данных, переданных методом POST, составляет, например, 8 Мбайт.

  • magic_quotes_gpc = On|Off

Отключена автоматическая обработка кавычек и апострофов, в данных GET, POST, и Cookie.

  • magic_quotes_runtime = On|Off

Включает или отключает заключение данных в обратные кавычки во время выполнения, к примеру, для SQL-запросов.

  • auto_prepend_file =
  • auto_append_file =

Содержимое файлов, указанных в этих директивах, PHP должен обрабатывать соответственно до и после выполнения сценария.

  • default_mimetype = "text/html"

Эта директива указывает, какую информацию PHP сообщает браузеру об используемой кодировке в заголовке Content-type. По умолчанию используется text/html без указания кодировки

  • doc_root =

Корневой каталог для PHP-сценариев.

  • extension_dir = "./"

Каталог, в котором хранятся динамически загружаемые расширения.

Загрузка файлов


  • file_uploads = On|Off

Разрешает или запрещает загрузку файлов на сервер.

  • upload_tmp_dir =

Временную директорию для загружежаемых файлов.

  • upload_max_filesize = 2M

Максимальный размер загруженных файлов составляет, например, 2 Мбайта.

Работа с сокетами


  • user_agent="PHP"

Значение переменной USER_AGENT, предоставляемой сервером при подключении с использованием сокета, например, PHP.

  • default_socket_timeout = число

Максимальное время прослушивания сокета, в секундах.

Динамические расширения


  • extension=modulename.extension

Используется для автоматической загрузки внешних модулей. К примеру, для Windows, можно написать так: extension=msql.dll, а для UNIX: extension=msql.so

Установки для модулей MySQL


  • mysql.allow_persistent = On

Разрешение или запрещение устойчивых MySQL-соединений.

  • mysql.max_persistent = -1

Директива, определяющая максимально число устойчивых MySQL-соединений. Значение -1 означает, что ограничений нет.

  • mysql.max_links = -1

Директива, определяющая максимально число как устойчивых, так и неустойчивых ODBC-соединений. Значение -1 означает, что ограничений нет.

  • mysql.default_port =

Порт, заданный по умолчанию для функции mysql_connect. При незаданном значении, функция mysql_connect использует переменную $MYSQL_TCP_PORT или запись mysql-tcp в каталоге /etc/services, а затем заданную во время компиляции константу MYSQL_PORT (именно в таком порядке).

  • mysql.default_socket =

Директива, определяющая имя сокета по умолчанию для локальных соединений MySQL.

  • mysql.default_host =

Имя хоста по умолчанию для функции mysql_connect.

  • mysql.default_user =

Имя пользователя по умолчанию.

  • mysql.default_password =

Пароль по умолчанию.

Источник:http://www.softtime.ru
Данная статья подготовлена для Вас командой сайта http://scrypte.ru