- 0
Войдите для возможности подписаться
Подписчики
0
[закрыто] Подскажите MySQL функцию
Вопросы
Лучший ответ
@Maks_Fabions, для отправки SQL-запросов серверу базы данных существуют 3 функции (если мы говорим о непосредственном написании SQL-запросов, а не их описании в файле): mysql_query, mysql_tquery, mysql_pquery.
1. mysql_query. Отправляет запрос серверу базы данных и ждет, пока сервер [базы данных] ответит. Поскольку сам сервер работает в одном потоке, то запуск из него этой функции повлечет ожидание всем сервером ответа от сервера базы данных. В результате данная функция не требует использования автовызываемых функций (поскольку сразу после SQL-запроса мы уже можем считывать данные) – именно то, о чем вы и спрашиваете.
2. mysql_tquery. Отправляет запрос серверу базы данных в отдельном потоке. Это значит, что игровой сервер продолжает работать сам по себе, а потом, когда сервер базы данных вернет ответ, ваш основной поток, в коем крутится игровой сервер, будет прерван для вызова указанной вами автовызываемой функции. Достоинство очевидно – сервер игр не простаивает, ожидая ответ сервера базы данных.
3. mysql_pquery. Отправляет запросы серверу базы данных в нескольких потоках (под каждый запрос не будет создаваться отдельный поток, поэтому большое число запросов повлечет формирование очереди из этих запросов). Здесь важно понимать, что если через данную функцию вы выполните два SQL-запроса (какой-нибудь примитивный и сравнительно сложный), ответ от сервера базы данных по первому запросу может прийти быстрее (далеко не всегда именно так). Поэтому важно понимать, что нельзя через mysql_pquery выполнить, например, INSERT INTO, а затем через эту же функцию делать SELECT по только что созданному ключу. Много где можете увидеть насчет этой функции что-то вроде "не понимаешь происходящее – не пользуйся". Я же вам скажу: пользуйтесь. Раз, два, три наступите на эти грабли – сами не заметите, как будете в этом разбираться.
С учетом всего вышесказанного ваша реализация должна быть примерно следующая.

Эта тема закрыта для публикации ответов.
Войдите для возможности подписаться
Подписчики
0
-
Последние посетители 0 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
-
Похожий контент
-
От Jasper231
Идет набор в команду для создания CRMP MOBILE проекта. Нам нужны
1) Кодеры
2) Мапперы
3) Люди которые вообще разбираются в создании серверов
об зарпалте договоримся и об остальном поговорим в вк: @haslyyyim
-
От otec
Копия радмира
║☑️Название CORVUS CRMP
║☑️Сервер у которого есть будущее и будет
║☑️Адекватная администрация
║☑️Идут наборы в Лидеры, Админы.
║☑️Вступайте в Telegram: t.me/corvusgta « Вступай!
║☑️Вступайте в ВКонтакте: vk.com/corvus_crmp « Вступай!
║☑️Постоянные ПРИЗЫ - МП | Интересный Мод
║☑️Все новости - обновления в Telegram и ВКонтакте
║☑️Сайт - corvus-crmp.ru
║☑️Форум - forum.corvus-crmp.ru
║☑️Скачать лаунчер - corvus-crmp.ru
║☑️Заходи мы ждем тебя
║☑️В случае возможных ошибок пишите сюда:@corvus_help_bot
-
От vicegame
Доброго времени суток уважаемые форумчане
Хочу представить наши услуги и цены:
GTA SAMP от 75руб
GTA CRMP от 75 руб
GTA MTA от 120 руб
Для каждого тарифа неограниченные слоты, оплата только за ресурсы
Удобная панель управления и широкий функционал
Работаем с 2023 года!
Также имеются БЕСПЛАТНЫЕ тарифы для (ознакомительных целей)
Мощные процессоры Ryzen 5950X (Германия)
Платежная система YooKassa на борту:
Банковские карты
SberPay
TinkoffPay
Yoomoney
Ссылка на хостинг: ТЫК
-
От hatriyikko
Требуется мобильная сборка мод + клиент + лаунчер
Копия Радмира, Блэк Раши или что-то другое с аналогичным функционалом. Основной упор на бизнесы, чтобы всё исправно работало
Напишите сколько это будет стоить?
В дальнейшем также могут понадобиться какие то доработки мода, если всё ок рассматриваю долгосрочное сотрудничество
Связь тут или в тг @kovart7
-
Maks_Fabions Свой человек 10
Предоставил вырезанный код. Как вы видите, в public OnPlayerConnect вызывается другой public FindPlayerInTable. Я не хочу вызывать public FindPlayerInTable, хочу сразу запустить проверку. Я копирую код из public FindPlayerInTable и добавляю в public OnPlayerConnect. Удаляю запрос mysql_tquery и сам public FindPlayerInTable, так как мне больше нет нужды обращаться к нему.
Вопрос: какую я должен функцию дописать в новый public OnPlayerConnect, так как я не обращаюсь к другим пабликам?
Поделиться сообщением
Ссылка на сообщение