[ Свежие темы · Новости · Купить Premium+ · Акции · Правила · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Среда MySQL
Lyon
Дата: Вторник, 01.10.2013, 17:08 | Сообщение # 1
Не активен...
Сообщений: 60

Среда MySQL.
В данном F.A.Q. мы более близко познакомимся с MySQL.

SQL запросы.
Structured Query Language - язык структурированных запросов.
Это специальный язык, который позволяет нам управлять данными в реляционных базах данных.
Следовательно, не сложно будет понять что именно его и будем использовать для управления.

Знакомимся с операторами:

Операторы определения данных:
CREATE - создает объект БД
ALTER - изменяет объект
DROP - удаляет объект

Операторы манипуляции данными:
SELECT - считывает данные
INSERT - добавляет новые данные
UPDATE - изменяет существующие данные
DELETE - удаляет данные

Операторы определения доступа к данным:
GRANT - предоставляет пользователю разрешения на определенные операции с объектом
REVOKE - отзывает ранее выданные разрешения
DENY - задает запрет, имеющий приоритет над разрешением

Операторы управления транзакциями:
COMMIT - применяет транзакцию.
ROLLBACK - откатывает все изменения, сделанные в контексте текущей транзакции.
SAVEPOINT - делит транзакцию на более мелкие участки.

Итак, как же мы работаем.
Начиная с версии 0.2, мультиплеер поддерживает возможность создания плагинов, расширяющих возможности сервера. Наиболее популярными являются плагины для работы с СУБД MySQL, а именно плагин от G-sTyLeZzZ's.
Сервер после определения БД, может посылать запросы MySQL серверу, который их обрабатывает.

Функции плагина:

samp_mysql_query(query[]) 
Отправка SQL запроса, пример использования:


Код
new string[256];
format(string, sizeof(string), "SELECT `password` FROM `users` WHERE `username` = '%s'", PlayerName(playerid));
mysql_query(string);//посылает запрос лежащий в переменной string
  

samp_mysql_connect(server[], user[], password[])
Соединение с MySQL сервером, пример использования:

Код
mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS))//подключаемся с массивами
//где SQL_HOST, SQL_USER, SQL_DB, SQL_PASS = IP MySQL сервера, юзер, пароль, название БД.
  

samp_mysql_ping() 
Пингует MySQL сервер, обычно используется для проверки соединился или нет, пример использования:


Код
if(mysql_ping() == 1)//проверка подключились мы к MySQL
     {
         printf("[MYSQL]: Подключение к `%s` выполнено!", SQL_DB);
     }  
     else
     {
         printf("[MYSQL]: [ERROR]: Подключение к `%s` не выполнено", SQL_DB);
     }
  

samp_mysql_free_result() 
Сбрасывает полученный результат от запроса, пример использования:

Код
new string[256];
format(string, sizeof(string), "SELECT `password` FROM `users` WHERE `username` = '%s'", PlayerName(playerid));
mysql_query(string);//посылает запрос лежащий в переменной string  
samp_mysql_free_result(string) //сброс
  

samp_mysql_close() 
Закрывает соединение с сервером MySQL, пример использования:

Код
mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS))//подключаемся с массивами
//где SQL_HOST, SQL_USER, SQL_DB, SQL_PASS = IP MySQL сервера, юзер, пароль, название БД.
samp_mysql_close() //отключение от сервера
  

samp_mysql_num_rows() 
Возвращает число строк, пример использования:

Код
new stroki[256];
samp_mysql_num_rows(stroki);
{
printf(" Число строк `%s` ", stroki);
return 1;
}
  

samp_mysql_num_field() 
Возвращает количество полей в таблице, пример использования:

Код
new line[1024];
new fieldvalue[128];
samp_mysql_fetch_row(line);
samp_mysql_get_field("user_name", field);
printf("%s ", field);
  

samp_mysql_store_result() 
Подготавливает полученный результат, пример использования:

Код
new string[256];
new result[256];
format(string, sizeof(string), "SELECT `password` FROM `users` WHERE `username` = '%s'", PlayerName(playerid));
mysql_query(string);   
{
samp_mysql_store_result(result)
{
printf("`%s` ", result);
}
return 0;
}
 



Подпись
Что хочу, то и ворочу...
  • Страница 1 из 1
  • 1
Поиск: