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
 
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")
Line 41: Line 41:
end
end
</syntaxhighlight>
</syntaxhighlight>
'''Пример 2.''' В этом примере создаётся соединение с MySQL-сервером и устанавливается к нему кодировка.
'''Пример 2'''. В этом примере создаётся соединение с MySQL-сервером и устанавливается к нему кодировка.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
local charset = "utf8"
local charset = "utf8"

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

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