Урок Основы Mysql - Форум - Воплоти мечту в

Урок Основы Mysql - Форум - Воплоти мечту в

 


 

          




Рекомендуем:






Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
  • Страница 1 из 1
  • 1
Модератор форума: Dima-kun   [FAQ] Учимся работать с PAWN+MYSQL FiLE Дата: Воскресенье, 18.11.2012, 23:36 | Сообщение # 1

Группа: Разработчики

Сообщений: 679

Награды: 70

Город: Днепропетровск

Замечания: 0% Учимся работать с PAWN + MySQL
Введение:
Сегодня большие проекты и не очень создают готовые моды или редактируют старые с целью установки в свой мод базы данных MySQL. А все потому, что переход на БД открывает нам большие возможности и удобства, подкидывает Ваш сервер на несколько ступенек верх. Что нам дает такого база данных? Ну, во-первых в scriptfiles нашего сервера не будет валяться тысячи файлов-аккаунтов, которые засирают, хоть и немного, выделенного места под сервер и если Вы делаете бекап аккаунтов - это жутко долго. Во-вторых в базе данных аккаунты легче редактировать. В третьих базу данных можно держать на совсем постороннем ресурсе. Мы можем подключить к БД наш сайт => UCP, просмотр статистики на сайте, и много другое что только можно придумать, за исключением невозможного, ну Вы сами знаете crazy .

Создание Базы Данных:
Если Ваш хостер предоставляет Вам базу данных, то создавать её не нужно. она уже готова, нужно знать только данные для подключения.
Если Вы работаете на локальном хосте (на своем компе), то установите любую хорошую сборку для создания веб-сайта, например XAMPP.
Зайдите в PHPmyAdmin и создайте свою БД. Как пользоваться PHPmyAdmin и создавать базы, таблицы Вам расскажет google youtube. suicide2

Выбор плагина mysql для сервера:
Существует несколько видов плагинов от разных разработчиков. Есть небольшие отличия в названиях и количестве функций, может еще в чем-то, но везде один и тот-же метод подачи запросов в базу. Вы можете почитать описания каждого из плагинов и выбрать для себя свой идеал :)
Я же буду использовать плагин MySQL Plugin R6, как-то привык с ним работать.

Подключение плагина и инклуда:
1. Закидываете плагин в папку с плагинами.
2. Закидываете инклуд в папку инклудов программы pawno
3. Прописываете в начале мода строку к своему инклуду.
4. Прописываете плагин в конфиге сервера.

Работа с Базой Данных:
Теперь начинается самое интересное.
Я думаю Вы уже создали табличку в базе данных.
Работаем в самом моде.

В начале мода пишем:

Code


#define ENABLE_DEBUGGING true
new g_ConnectionHandle;


В паблике OnGameModeInit

Code


mysql_debug(ENABLE_DEBUGGING);
g_ConnectionHandle = mysql_connect("host", "user", "database", "password");


Тут все прозрачно:
mysql_debug - включаем журнал работы базы (если не нужно выключите)
mysql_connect - соединяемся с базой данных. Значения поменяйте на свои.

Выполнение запросов:

Выбираем один аккаунт игрока у которого номер = PlayerInfo[playerid][pSQLID]

Code


new query[128];
format(query, sizeof(query), "SELECT FROM players WHERE id = %d LIMIT 1",PlayerInfo[playerid][pSQLID]);
mysql_query(query);
mysql_store_result();

Обновить таблицу houses Выставить owner=0 в строке где id=houses[allnumber[playerid]][hid]

Code


new query[512];
format(query, sizeof(query), "UPDATE houses SET owner=0 WHERE id='%d'", houses[allnumber[playerid]][hid]);
mysql_query(query);
mysql_store_result();


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

На этом наверное все! Что забыл позже дорисую.


Сообщение отредактировал FiLE - Воскресенье, 18.11.2012, 23:40

Dreven Дата: Понедельник, 19.11.2012, 01:46 | Сообщение # 2

Гуру

Группа: Продвинутые

Сообщений: 1096

Награды: 205

Город: od.ua

Репутация: 1099 Замечания: 0%

Quote (FiLE)

g_ConnectionHandle = mysql_connect("host", "user", "database", "password");


Мне интересно зачем переменная ConnectionHandle?
Поидее она же дальше нигде не будет использоваться

www.samp-rpg.com AirKite Дата: Понедельник, 19.11.2012, 02:07 | Сообщение # 3

Долгожитель

Группа: I'm V.I.P.

Сообщений: 1671

Награды: 21

Город: Новосибирск

Репутация: 2070 Замечания: 0% Во первых непонятно в чём заключается обучение?

Quote (FiLE)

Выбираем один аккаунт игрока у которого номер = PlayerInfo[playerid][pSQLID]

Code

new query[128];   
format(query, sizeof(query), "SELECT FROM players WHERE id = %d LIMIT 1",PlayerInfo[playerid][pSQLID]);   
mysql_query(query);


Ну и? Query запрос отправили, а где мы Выбираем? Где обработка результата (ответа от mysql сервера)???

Quote (FiLE)

Я же буду использовать плагин MySQL Plugin R7, как-то привык с ним работать.


Quote (FiLE)

mysql_query(query);


Ничего что функции mysql_query(query); в MySQL Plugin R7 попросту нет?!

Quote (Dreven)

Мне интересно зачем переменная ConnectionHandle?
Поидее она же дальше нигде не будет использоваться


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

Code


g_MySQL1 = mysql_connect("host1", "user", "database", "password");
g_MySQL2 = mysql_connect("host2", "user", "database", "password");
...
mysql_query(query,-1,-1,g_MySQL1)
...
mysql_query(query,-1,-1,g_MySQL2)



[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)

Jabber:
[Addon] QuickBinder
[FS] Online Players Record

Harris Дата: Понедельник, 19.11.2012, 10:38 | Сообщение # 4

Советчик

Группа: Продвинутые

Сообщений: 1168

Награды: 78

Город: Киев

Замечания: 20%

Quote (FiLE)

Я же буду использовать плагин MySQL Plugin R7, как-то привык с ним работать.

Я в этом человек серый и безграмотный, но даже я знаю, что Р7 это последняя версия плагина, где команды идут разными потоками что приводит к оптимизации. А этого не написано :(

Dima-kun Дата: Понедельник, 19.11.2012, 15:00 | Сообщение # 5

Группа: Разработчики

Сообщений: 6262

Награды: 72 Репутация: 3482 Замечания: 0% Иди русский учи

Quote (AirKite)

Ну и? Query запрос отправили, а где мы Выбираем?


Quote (FiLE)

id = %d


Он не писал, что будет присваивать какие-то значения из базы переменным. ок да?

Quote (AirKite)

MySQL Plugin R7 попросту нет?!


ну мб описался. Скорее он использовал р6. Блин.

Добавлено (19.11.2012, 15:00)
---------------------------------------------
Тема закрыта.

Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints FiLE Дата: Понедельник, 19.11.2012, 15:07 | Сообщение # 6

Группа: Разработчики

Сообщений: 679

Награды: 70

Город: Днепропетровск

Замечания: 0% Dima-kun, спасибо что исправил опечатки в мое отсутствие, т.к. тема создавалась в форсированном режиме.

Quote (AirKite)

Во первых непонятно в чём заключается обучение?


Тебя она ничему не учит, а те кто не знают - большая помощь в установке базы данных в мод.
Думали я напишу инструкцию по всем функциям? Или Руководство по MYSQL? Зачем создавать велосипед?


  • Страница 1 из 1
  • 1




 
 

  SAMP-RUS.COM
Урок Основы Mysql - Форум - Воплоти мечту в
Как подключить мод к БД MySQL - База знаний - Хостинг игровых
Урок Основы Mysql - Форум - Воплоти мечту в
FAQ Учимся работать с PAWNMYSQL - Форум SAMP о мультиплеерах
Урок Основы Mysql - Форум - Воплоти мечту в
Ответы Люди помогите создать базу данных MySQL для
Урок Основы Mysql - Форум - Воплоти мечту в
Урок Запуск мода на MySQL - Форум - Воплоти
Урок Основы Mysql - Форум - Воплоти мечту в
Урок Как подключить MySQL к моду - Pawno-Info
Урок Основы Mysql - Форум - Воплоти мечту в
7 неделя беременности: фото, ощущения, развитие плода
Урок Основы Mysql - Форум - Воплоти мечту в
Урок Основы Mysql - Форум - Воплоти мечту в
Урок Основы Mysql - Форум - Воплоти мечту в
Урок Основы Mysql - Форум - Воплоти мечту в
Урок Основы Mysql - Форум - Воплоти мечту в
Урок Основы Mysql - Форум - Воплоти мечту в
Урок Основы Mysql - Форум - Воплоти мечту в
Урок Основы Mysql - Форум - Воплоти мечту в
Урок Основы Mysql - Форум - Воплоти мечту в