<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Linkbrt</id>
	<title>Multi Theft Auto: Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Linkbrt"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/Linkbrt"/>
	<updated>2026-04-21T03:31:46Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/dbConnect&amp;diff=65188</id>
		<title>RU/dbConnect</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/dbConnect&amp;diff=65188"/>
		<updated>2020-02-18T19:15:28Z</updated>

		<summary type="html">&lt;p&gt;Linkbrt: /* Пример */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Translate}}&lt;br /&gt;
{{RU/Server function}}&lt;br /&gt;
Эта функция открывает подключение к базе данных и возвращает элемент, который может быть использован с [[RU/dbQuery|dbQuery]]. Для отключения используйте [[RU/destroyElement|destroyElement]].&lt;br /&gt;
{{RU/Note|Подсоединение и отсоединение много раз может негативно повлиять на производительность сервера. Для оптимальной производительности рекомендуется использовать dbConnect только один раз, когда ресурс запускается, и использовать это соединение во всем ресурсе.}}&lt;br /&gt;
{{RU/Note|dbConnect на Linux MySQL требует libmysqlclient.so.15 (для MTA 1.3), или libmysqlclient.so.16 (для MTA 1.4)}}&lt;br /&gt;
==Синтаксис== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element dbConnect ( string databaseType, string host [, string username = &amp;quot;&amp;quot;, string password = &amp;quot;&amp;quot;, string options = &amp;quot;&amp;quot; ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{RU/OOP||[[Connection]]}}&lt;br /&gt;
===Обязательные параметры===&lt;br /&gt;
*'''databaseType:''' Тип базы данных. Может быть ''sqlite'' или ''mysql''&lt;br /&gt;
*'''host:''' Цель для подключения. Формат зависит от типа базы данных.&lt;br /&gt;
** Для SQLite это [[filepath|путь]] к файлу SQLite базы данных. Если путь начинается с &amp;quot;:/&amp;quot; будет использоваться глобальный каталог баз данных сервера. Файл будет создан, если он не существует.&lt;br /&gt;
** Для MySQL это список формата ключ=значение, разделенный точкой с запятой. Поддерживаются следующие ключи:&lt;br /&gt;
*** '''dbname''': Имя базы данных для использования. Например: ''dbname=test''&lt;br /&gt;
*** '''host''': Адрес хоста. Например: ''host=127.0.0.1''&lt;br /&gt;
*** '''port''': Порт хоста. Например: ''port=1234'' (опционально, по умолчанию используется стандартный порт MySQL)&lt;br /&gt;
*** '''unix_socket''': Unix-сокет или именованный канал для использования (опционально)&lt;br /&gt;
&lt;br /&gt;
===Необязательные параметры===&lt;br /&gt;
*'''username:''' Обычно требуется для MySQL, игнорируется для SQLite &lt;br /&gt;
*'''password:''' Обычно требуется для MySQL, игнорируется для SQLite &lt;br /&gt;
*'''options :''' Список ключей = Пары значений, которые разделены точкой с запятой. Поддерживаемые ключи:&lt;br /&gt;
**'''share''' может быть установлен на 0 или 1. (Значение по умолчанию для SQLite это &amp;quot;share=1&amp;quot;, а для MySQL это &amp;quot;share=0&amp;quot;). Когда установлено значение 1, подключение становится общим и  это будет использоваться другими вызовами dbConnect с той же строкой хоста. Это обычно хорошо для SQLite подключений, но не очень хорошо для MySQL если не соблюдать осторожность.&lt;br /&gt;
**'''batch''' может быть установлен на 0 ил 1. (По умолчанию &amp;quot;batch=1&amp;quot;). Когда установлено на 1, запросы, вызываемые в одном кадре, автоматически объединяются, что может значительно ускорить вставку / обновление. Недостатком является то, что вы теряете контроль над функцией, которая используется для достижения пакетной обработки (для SQLite это транзакции, для MySQL это режим autocommit). Следовательно, если вы используете транзакции, блокируете таблицы или управляйте режимом autocommit самостоятельно, вы можете отключить эту функцию.&lt;br /&gt;
**'''autoreconnect''' может быть установлен на 0 или 1. (По умолчанию &amp;quot;autoreconnect=1&amp;quot;). Когда установлено на 1, разорванные подключения будут автоматически переподключены. Обратите внимание, что переменные сеанса (вкл. SET NAMES), пользовательские переменные, закрытые и временные таблицы будут сброшены из-за переподключения. Так что, если вы используете необычные функции, вам нужно будет отключить автоподключение и справиться с разорванными соединениями другим способом.&lt;br /&gt;
**'''log''' может быть установлен на 0 или 1. (Значение по умолчанию &amp;quot;log=1&amp;quot;). Когда установлено на 0, активность с данного подключения не будет записана в  [[Server_Commands#debugdb|файл журнала отладки базы данных.]].&lt;br /&gt;
**'''tag''' (Значение по умолчанию &amp;quot;tag&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;script&amp;quot;). Строка, которая помогает идентифицировать активность этого соединения в [[Server_Commands#debugdb|файле журнала отладки базы данных]].&lt;br /&gt;
**'''suppress''' разделенный запятыми список кодов ошибок, которые следует игнорировать. (например &amp;quot;suppress&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;1062,1169&amp;quot;).&lt;br /&gt;
**'''charset''' если вы хотите общаться с сервером, используя набор символов, отличный от набора по умолчанию, вам необходимо указать, какой из них. (например &amp;quot;charset&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;utf8&amp;quot;). (используется только в MySQL)&lt;br /&gt;
&lt;br /&gt;
===Возвращает===&lt;br /&gt;
Возвращает элемент подключения к базе данных, если проблем нет, в противном случае ''false''.&lt;br /&gt;
&lt;br /&gt;
==Пример==&lt;br /&gt;
В этом примере открывается соединение с файлом базы данных SQLite в текущем ресурсе.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
test_db = dbConnect( &amp;quot;sqlite&amp;quot;, &amp;quot;file.db&amp;quot; )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом примере открывается соединение с файлом базы данных SQLite в другом ресурсе.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
test_db = dbConnect( &amp;quot;sqlite&amp;quot;, &amp;quot;:resname/file.db&amp;quot; )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом примере открывается соединение с файлом базы данных SQLite в каталоге глобальных баз данных.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
test_db = dbConnect( &amp;quot;sqlite&amp;quot;, &amp;quot;:/file.db&amp;quot; )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом примере открывается соединение с файлом базы данных SQLite в подкаталоге каталога глобальных баз данных.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
test_db = dbConnect( &amp;quot;sqlite&amp;quot;, &amp;quot;:/example/sub/dir/file.db&amp;quot; )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом примере открывается соединение с базой данных MySQL с именем «frank» на сервере с ip 1.2.3.4 используя набор символов utf8 и с разрешением совместного использования соединения. Обратите внимание, что изменение базы данных или других зависимых от подключения настроек влияет на все общие подключения.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
test_db = dbConnect( &amp;quot;mysql&amp;quot;, &amp;quot;dbname=frank;host=1.2.3.4&amp;quot;, &amp;quot;username&amp;quot;, &amp;quot;password&amp;quot;, &amp;quot;share=1&amp;quot; )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом примере открывается соединение с базой данных SQLite, запрещается совместное использование соединения.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
test_db = dbConnect( &amp;quot;sqlite&amp;quot;, &amp;quot;file.db&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;share=0&amp;quot; )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом примере выводится сообщение об отладке, установлено ли соединение с базой данных SQLite или нет&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
test_db = dbConnect( &amp;quot;sqlite&amp;quot;, &amp;quot;file.db&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
if test_db then&lt;br /&gt;
    outputDebugString( &amp;quot;Связь с базой данных была успешно установлена.&amp;quot; )&lt;br /&gt;
else&lt;br /&gt;
    outputDebugString( &amp;quot;Не удалось установить соединение с базой данных.&amp;quot; )&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В следующем примере показано, как можно найти общий ресурс для операций с базой данных с экспортированными функциями (запросить и выполнить):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function connect()&lt;br /&gt;
    DBConnection = dbConnect( &amp;quot;mysql&amp;quot;, &amp;quot;dbname=DBNAME;host=HOST;charset=utf8&amp;quot;, &amp;quot;USERNAME&amp;quot;, &amp;quot;PASSWORD&amp;quot; )&lt;br /&gt;
    if (not DBConnection) then&lt;br /&gt;
        outputDebugString(&amp;quot;Ошибка: не удалось установить соединение с сервером базы данных MySQL&amp;quot;)&lt;br /&gt;
    else&lt;br /&gt;
        outputDebugString(&amp;quot;Успешно: Соединено с сервером базы данных MySQL&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
addEventHandler(&amp;quot;onResourceStart&amp;quot;,resourceRoot, connect)&lt;br /&gt;
 &lt;br /&gt;
function query(...)&lt;br /&gt;
    local queryHandle = dbQuery(DBConnection, ...)&lt;br /&gt;
    if (not queryHandle) then&lt;br /&gt;
        return nil&lt;br /&gt;
    end&lt;br /&gt;
    local rows = dbPoll(queryHandle, -1)&lt;br /&gt;
    return rows&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
function execute(...)&lt;br /&gt;
    local queryHandle = dbQuery(DBConnection, ...)&lt;br /&gt;
    local result, numRows = dbPoll(queryHandle, -1)&lt;br /&gt;
    return numRows&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getDBConnection()&lt;br /&gt;
    return DBConnection&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Требования==&lt;br /&gt;
{{RU/Requirements|1.1.1-9.03328|n/a}}&lt;br /&gt;
&lt;br /&gt;
==Список изменений==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.3.1-9.04817|Добавлены опции 'log', 'tag' и 'suppress'}}&lt;br /&gt;
{{ChangelogItem|1.3.5-9.06386|Добавлена опция 'charset'}}&lt;br /&gt;
&lt;br /&gt;
==Смотрите также==&lt;br /&gt;
{{RU/Registry_functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:dbConnect]]&lt;/div&gt;</summary>
		<author><name>Linkbrt</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/dbConnect&amp;diff=65187</id>
		<title>RU/dbConnect</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/dbConnect&amp;diff=65187"/>
		<updated>2020-02-18T18:49:58Z</updated>

		<summary type="html">&lt;p&gt;Linkbrt: /* Необязательные параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Translate}}&lt;br /&gt;
{{RU/Server function}}&lt;br /&gt;
Эта функция открывает подключение к базе данных и возвращает элемент, который может быть использован с [[RU/dbQuery|dbQuery]]. Для отключения используйте [[RU/destroyElement|destroyElement]].&lt;br /&gt;
{{RU/Note|Подсоединение и отсоединение много раз может негативно повлиять на производительность сервера. Для оптимальной производительности рекомендуется использовать dbConnect только один раз, когда ресурс запускается, и использовать это соединение во всем ресурсе.}}&lt;br /&gt;
{{RU/Note|dbConnect на Linux MySQL требует libmysqlclient.so.15 (для MTA 1.3), или libmysqlclient.so.16 (для MTA 1.4)}}&lt;br /&gt;
==Синтаксис== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element dbConnect ( string databaseType, string host [, string username = &amp;quot;&amp;quot;, string password = &amp;quot;&amp;quot;, string options = &amp;quot;&amp;quot; ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{RU/OOP||[[Connection]]}}&lt;br /&gt;
===Обязательные параметры===&lt;br /&gt;
*'''databaseType:''' Тип базы данных. Может быть ''sqlite'' или ''mysql''&lt;br /&gt;
*'''host:''' Цель для подключения. Формат зависит от типа базы данных.&lt;br /&gt;
** Для SQLite это [[filepath|путь]] к файлу SQLite базы данных. Если путь начинается с &amp;quot;:/&amp;quot; будет использоваться глобальный каталог баз данных сервера. Файл будет создан, если он не существует.&lt;br /&gt;
** Для MySQL это список формата ключ=значение, разделенный точкой с запятой. Поддерживаются следующие ключи:&lt;br /&gt;
*** '''dbname''': Имя базы данных для использования. Например: ''dbname=test''&lt;br /&gt;
*** '''host''': Адрес хоста. Например: ''host=127.0.0.1''&lt;br /&gt;
*** '''port''': Порт хоста. Например: ''port=1234'' (опционально, по умолчанию используется стандартный порт MySQL)&lt;br /&gt;
*** '''unix_socket''': Unix-сокет или именованный канал для использования (опционально)&lt;br /&gt;
&lt;br /&gt;
===Необязательные параметры===&lt;br /&gt;
*'''username:''' Обычно требуется для MySQL, игнорируется для SQLite &lt;br /&gt;
*'''password:''' Обычно требуется для MySQL, игнорируется для SQLite &lt;br /&gt;
*'''options :''' Список ключей = Пары значений, которые разделены точкой с запятой. Поддерживаемые ключи:&lt;br /&gt;
**'''share''' может быть установлен на 0 или 1. (Значение по умолчанию для SQLite это &amp;quot;share=1&amp;quot;, а для MySQL это &amp;quot;share=0&amp;quot;). Когда установлено значение 1, подключение становится общим и  это будет использоваться другими вызовами dbConnect с той же строкой хоста. Это обычно хорошо для SQLite подключений, но не очень хорошо для MySQL если не соблюдать осторожность.&lt;br /&gt;
**'''batch''' может быть установлен на 0 ил 1. (По умолчанию &amp;quot;batch=1&amp;quot;). Когда установлено на 1, запросы, вызываемые в одном кадре, автоматически объединяются, что может значительно ускорить вставку / обновление. Недостатком является то, что вы теряете контроль над функцией, которая используется для достижения пакетной обработки (для SQLite это транзакции, для MySQL это режим autocommit). Следовательно, если вы используете транзакции, блокируете таблицы или управляйте режимом autocommit самостоятельно, вы можете отключить эту функцию.&lt;br /&gt;
**'''autoreconnect''' может быть установлен на 0 или 1. (По умолчанию &amp;quot;autoreconnect=1&amp;quot;). Когда установлено на 1, разорванные подключения будут автоматически переподключены. Обратите внимание, что переменные сеанса (вкл. SET NAMES), пользовательские переменные, закрытые и временные таблицы будут сброшены из-за переподключения. Так что, если вы используете необычные функции, вам нужно будет отключить автоподключение и справиться с разорванными соединениями другим способом.&lt;br /&gt;
**'''log''' может быть установлен на 0 или 1. (Значение по умолчанию &amp;quot;log=1&amp;quot;). Когда установлено на 0, активность с данного подключения не будет записана в  [[Server_Commands#debugdb|файл журнала отладки базы данных.]].&lt;br /&gt;
**'''tag''' (Значение по умолчанию &amp;quot;tag&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;script&amp;quot;). Строка, которая помогает идентифицировать активность этого соединения в [[Server_Commands#debugdb|файле журнала отладки базы данных]].&lt;br /&gt;
**'''suppress''' разделенный запятыми список кодов ошибок, которые следует игнорировать. (например &amp;quot;suppress&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;1062,1169&amp;quot;).&lt;br /&gt;
**'''charset''' если вы хотите общаться с сервером, используя набор символов, отличный от набора по умолчанию, вам необходимо указать, какой из них. (например &amp;quot;charset&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;utf8&amp;quot;). (используется только в MySQL)&lt;br /&gt;
&lt;br /&gt;
===Возвращает===&lt;br /&gt;
Возвращает элемент подключения к базе данных, если проблем нет, в противном случае ''false''.&lt;br /&gt;
&lt;br /&gt;
==Пример==&lt;br /&gt;
This example opens a connection to a SQLite database file in the current resource&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
test_db = dbConnect( &amp;quot;sqlite&amp;quot;, &amp;quot;file.db&amp;quot; )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example opens a connection to a SQLite database file in another resource&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
test_db = dbConnect( &amp;quot;sqlite&amp;quot;, &amp;quot;:resname/file.db&amp;quot; )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example opens a connection to a SQLite database file in the global databases directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
test_db = dbConnect( &amp;quot;sqlite&amp;quot;, &amp;quot;:/file.db&amp;quot; )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example opens a connection to a SQLite database file in a sub directory of the global databases directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
test_db = dbConnect( &amp;quot;sqlite&amp;quot;, &amp;quot;:/example/sub/dir/file.db&amp;quot; )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example opens a connection to a MySQL database called 'frank' at server ip 1.2.3.4 and allows the connection to be shared. Note that changing the database or other connection dependent settings affect all connections that are shared.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
test_db = dbConnect( &amp;quot;mysql&amp;quot;, &amp;quot;dbname=frank;host=1.2.3.4&amp;quot;, &amp;quot;username&amp;quot;, &amp;quot;password&amp;quot;, &amp;quot;share=1&amp;quot; )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example opens a connection to a SQLite database is disallows sharing of the connection&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
test_db = dbConnect( &amp;quot;sqlite&amp;quot;, &amp;quot;file.db&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;share=0&amp;quot; )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Требования==&lt;br /&gt;
{{RU/Requirements|1.1.1-9.03328|n/a}}&lt;br /&gt;
&lt;br /&gt;
==Список изменений==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.3.1-9.04817|Добавлены опции 'log', 'tag' и 'suppress'}}&lt;br /&gt;
{{ChangelogItem|1.3.5-9.06386|Добавлена опция 'charset'}}&lt;br /&gt;
&lt;br /&gt;
==Смотрите также==&lt;br /&gt;
{{RU/Registry_functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:dbConnect]]&lt;/div&gt;</summary>
		<author><name>Linkbrt</name></author>
	</entry>
</feed>