RU/Modules/MTA-MySQL/mysql connect: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
<pageclass class="#AA7592" subcaption="MTA-MySQL Module"></pageclass>
<pageclass class="#AA7592" subcaption="Модуль MTA MySQL"></pageclass>
__NOTOC__
__NOTOC__
{{RU/ModuleFunction|MTA-MySQL}}
{{RU/ModuleFunction|MTA-MySQL|MTA MySQL}}
Создаёт соединение с MySQL-сервером и возвращает к нему обработчик.
Создаёт соединение с MySQL-сервером и возвращает к нему обработчик.


Line 9: Line 9:
</syntaxhighlight>
</syntaxhighlight>
===Обязательные аргументы===
===Обязательные аргументы===
* '''hostname:''' Имя хоста для подключения.
* '''hostname'''. Имя хоста для подключения.
* '''username:''' Пользователь базы данных.
* '''username'''. Пользователь базы данных.
* '''password:''' Пользовательский пароль.
* '''password'''. Пользовательский пароль.
* '''database:''' Начальная база данных.
* '''database'''. Начальная база данных.


===Необязательные аргументы===
===Необязательные аргументы===
{{RU/OptionalArg}}
{{RU/OptionalArg}}
* '''port''': MySQL-порт.
* '''port'''. MySQL-порт.
* '''unix_socket''': Путь к UNIX-сокету (обычно ''/var/run/mysqld/mysqld.sock''). Используется при подключении в UNIX-системах к локальной базе данных.
* '''unix_socket'''. Путь к UNIX-сокету (обычно ''/var/run/mysqld/mysqld.sock''). Используется при подключении в UNIX-системах к локальной базе данных.
* '''client_flags''': Флаги подключения (в формате ''"flag1|flag2|flag3"''). Список флагов:
* '''client_flags'''. Флаги подключения (в формате ''"flag1|flag2|flag3"''). Список флагов:
** '''compress:''' Использовать протокола сжатия.
** '''compress'''. Использовать протокола сжатия.
** '''found_rows:''' Возвращать количество найденных (совпадающих) строк, а не количество изменённых строк.
** '''found_rows'''. Возвращать количество найденных (совпадающих) строк, а не количество изменённых строк.
** '''ignore_sigpipe:''' Запрещать клиентской библиотеке устанавливать обработчик сигнала SIGPIPE. Это можно использовать для предотвращения конфликтов с обработчиком, что приложение уже установлено.
** '''ignore_sigpipe'''. Запрещать клиентской библиотеке устанавливать обработчик сигнала SIGPIPE. Это можно использовать для предотвращения конфликтов с обработчиком, что приложение уже установлено.
** '''ignore_space:''' Разрешить пробелы после имён функций. Делает имена всех функций зарезервированными словами.
** '''ignore_space'''. Разрешить пробелы после имён функций. Делает имена всех функций зарезервированными словами.
** '''interactive:''' Разрешить ''interactive_timeout'' секунд (вместо ''wait_timeout'' секунд) бездействия до закрытия соединения. Переменной клиентской сессии ''wait_timeout'' присваивается значение переменной сессии ''interactive_timeout''.
** '''interactive'''. Разрешить ''interactive_timeout'' секунд (вместо ''wait_timeout'' секунд) бездействия до закрытия соединения. Переменной клиентской сессии ''wait_timeout'' присваивается значение переменной сессии ''interactive_timeout''.
** '''local_files:''' Включить обработку ''LOAD DATA LOCAL''.
** '''local_files'''. Включить обработку ''LOAD DATA LOCAL''.
** '''no_schema:''' Не разрешать синтаксис ''db_name.tbl_name.col_name''. Это для ODBC. Это приводит к возникновению ошибки анализатором, если Вы используете этот синтаксис, который полезен для улавливания ошибок в некоторых ODBC-программах.
** '''no_schema'''. Не разрешать синтаксис ''db_name.tbl_name.col_name''. Это для ODBC. Это приводит к возникновению ошибки анализатором, если Вы используете этот синтаксис, который полезен для улавливания ошибок в некоторых ODBC-программах.


===Возвращаемые значения===
===Возвращаемые значения===
Line 31: Line 31:


==Примеры==
==Примеры==
'''Пример 1.''' В этом примере создаётся соединение с MySQL-сервером и проверяется, было ли оно успешным.
'''Пример 1'''. В этом примере создаётся соединение с MySQL-сервером и проверяется, было ли оно успешным.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
handler = mysql_connect("localhost", "username", "password", "mta_users")
handler = mysql_connect("localhost", "username", "password", "mta_users")


if not handler then
if not handler then
     outputDebugString("Не удалось подключиться к MySQL-серверу")
     outputDebugString("Не удалось подключиться к MySQL-серверу.")
else
else
     outputDebugString("Удалось подключиться к MySQL-серверу")
     outputDebugString("Удалось подключиться к MySQL-серверу.")
end
end
</syntaxhighlight>
</syntaxhighlight>
'''Пример 2.''' В этом примере создаётся соединение с MySQL-сервером и устанавливается к нему кодировка
'''Пример 2'''. В этом примере создаётся соединение с MySQL-сервером и устанавливается к нему кодировка.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
local charset = "utf8";
local charset = "utf8"
local handler = mysql_connect("127.0.0.1", "username", "password", "database", 3306, "/var/lib/libmysqlclient.so.15", "")
local handler = mysql_connect("127.0.0.1", "username", "password", "database", 3306, "/var/lib/libmysqlclient.so.15", "")


Line 55: Line 55:
==Смотрите также==
==Смотрите также==
{{RU/Modules/MTA-MySQL/Handler_functions}}
{{RU/Modules/MTA-MySQL/Handler_functions}}
[[EN:Modules/MTA-MySQL/mysql_connect]]

Latest revision as of 14:44, 2 December 2017


Package-x-generic.png Эта функция предоставлена внешним модулем MTA MySQL. Вы должны установить этот модуль, чтобы использовать эту функцию.

Создаёт соединение с MySQL-сервером и возвращает к нему обработчик.

Синтаксис

MySQLConnection mysql_connect(string hostname, string username, string password, string database[, int port=3306, string unix_socket=nil, string client_flags=""])

Обязательные аргументы

  • hostname. Имя хоста для подключения.
  • username. Пользователь базы данных.
  • password. Пользовательский пароль.
  • database. Начальная база данных.

Необязательные аргументы

Примечание. При использовании необязательных аргументов Вам может потребоваться предоставить все аргументы перед тем аргументом, который Вы хотите использовать. Для более подробной информации ознакомьтесь с необязательными аргументами.

  • port. MySQL-порт.
  • unix_socket. Путь к UNIX-сокету (обычно /var/run/mysqld/mysqld.sock). Используется при подключении в UNIX-системах к локальной базе данных.
  • client_flags. Флаги подключения (в формате "flag1|flag2|flag3"). Список флагов:
    • compress. Использовать протокола сжатия.
    • found_rows. Возвращать количество найденных (совпадающих) строк, а не количество изменённых строк.
    • ignore_sigpipe. Запрещать клиентской библиотеке устанавливать обработчик сигнала SIGPIPE. Это можно использовать для предотвращения конфликтов с обработчиком, что приложение уже установлено.
    • ignore_space. Разрешить пробелы после имён функций. Делает имена всех функций зарезервированными словами.
    • interactive. Разрешить interactive_timeout секунд (вместо wait_timeout секунд) бездействия до закрытия соединения. Переменной клиентской сессии wait_timeout присваивается значение переменной сессии interactive_timeout.
    • local_files. Включить обработку LOAD DATA LOCAL.
    • no_schema. Не разрешать синтаксис db_name.tbl_name.col_name. Это для ODBC. Это приводит к возникновению ошибки анализатором, если Вы используете этот синтаксис, который полезен для улавливания ошибок в некоторых ODBC-программах.

Возвращаемые значения

Возвращает действительный обработчик MySQL, если удалось подключиться, или nil, если не удалось.

Примеры

Пример 1. В этом примере создаётся соединение с MySQL-сервером и проверяется, было ли оно успешным.

handler = mysql_connect("localhost", "username", "password", "mta_users")

if not handler then
    outputDebugString("Не удалось подключиться к MySQL-серверу.")
else
    outputDebugString("Удалось подключиться к MySQL-серверу.")
end

Пример 2. В этом примере создаётся соединение с MySQL-сервером и устанавливается к нему кодировка.

local charset = "utf8"
local handler = mysql_connect("127.0.0.1", "username", "password", "database", 3306, "/var/lib/libmysqlclient.so.15", "")

if handler then
    mysql_query(handler, "SET NAMES '"..charset.."'")
    mysql_query(handler, "SET OPTION CHARACTER SET "..charset.."")
    mysql_query(handler, "SET CHARACTER SET '"..charset.."'")
end

Смотрите также