[MySQL] Help -
BaRRyS3R - 22.01.2010
Code:
case LOGIN_THREAD_ID:
{
if(IsPlayerConnected(LOGIN_PLAYER_ID))
{
mysql_store_result();
if(mysql_num_rows() == 1)
{
PlayerInfo[LOGIN_PLAYER_ID][Money] = mysql_fetch_int();
GivePlayerMoney(LOGIN_PLAYER_ID,PlayerInfo[LOGIN_PLAYER_ID][Money]);
LoggedIn[LOGIN_PLAYER_ID] = true;
format(string,sizeof(string),">> You have been successfully logged in. (Money: %d, Deaths: %d)",PlayerInfo[LOGIN_PLAYER_ID][Money], PlayerInfo[LOGIN_PLAYER_ID][Deaths]);
SendClientMessage(LOGIN_PLAYER_ID,GREY,string);
mysql_free_result();
}
else
{
Wrongattempt[LOGIN_PLAYER_ID]++;
printf("Bad log in attempt by %s (Total attempts: %d)",pName,Wrongattempt[LOGIN_PLAYER_ID]);
if(Wrongattempt[LOGIN_PLAYER_ID] >= 3)
{
SendClientMessage(LOGIN_PLAYER_ID,RED,">> You have been kicked.( 3 times wrong pass )");
mysql_free_result();
return Kick(LOGIN_PLAYER_ID);
}
mysql_free_result();
SendClientMessage(LOGIN_PLAYER_ID,RED,">> Wrong Password");
}
}
Данный код из стандартного фс регистрации через мускуль, немного мной переделанный. В стандартном ФС, было только сохранение денег. Каким образом сохранять остальные данные, на пример убийства?
Есть массив для убийств
PlayerInfo[LOGIN_PLAYER_ID][Deaths]
Если делать для него то же самое, что и для денег (
PlayerInfo[LOGIN_PLAYER_ID][Money] = mysql_fetch_int();
GivePlayerMoney(LOGIN_PLAYER_ID,PlayerInfo[LOGIN_PLAYER_ID][Money]);
PlayerInfo[LOGIN_PLAYER_ID][Deaths] = mysql_fetch_int();)
То как я понимаю, точнее как написано в описании мускульного плагина
Code:
mysql_fetch_int()
Use this instead of mysql_fetch_row if you want the result as a single integer
Используеться для одного массива, а каким образом тогда сделать для нескольких?
Re: [MySQL] Help -
^Woozie^ - 22.01.2010
тоже интересует работа с мюсол. киньте линк на учебник по sql запросам что ли.
Re: [MySQL] Help -
Walk_M4n - 22.01.2010
Quote:
Originally Posted by ^Psycho^
тоже интересует работа с мюсол. киньте линк на учебник по sql запросам что ли.
|
http://php.su/mysql/manual/
Глава 3.
Re: [MySQL] Help -
ZiGGi - 23.01.2010
мой скрипт регистрации:
http://zziggi.ru/files/sa-mp/Registe...gSysDialog.zip
писал давно, думаю разберётесь.
Re: [MySQL] Help -
BaRRyS3R - 22.02.2010
Так, возникла новая проблема:
Code:
[00:36:20] CMySQLHandler::Query(UPDATE `database`.`tablename` SET `Money` = '1000' WHERE `tablename`.`id` = 'UserID' LIMIT 1) - An error has occured. (Error ID: 1142, UPDATE command denied to user 'MSTest'@'localhost' for table 'tablenam`')
MySQL Plugin R3;
Хост 2x4.ru
phpMyAdmin 2.11.3
Re: [MySQL] Help -
MX_Master - 23.02.2010
Ну дык на родном английском написано, что нет прав для обновления этой таблицы, указанным юзером.
Re: [MySQL] Help -
BaRRyS3R - 23.02.2010
Все разобрался, там не в этом проблема была
Re: [MySQL] Help -
BaRRyS3R - 27.02.2010
И сново трабла...
Задача: Записать в БД последнюю дату и время соеденения с ней. Время и дату мы берем с сервера (getdate, gettime), а вот как их записать в 1 ячейку таблицы? Реально ли это вообще?
Re: [MySQL] Help -
MX_Master - 27.02.2010
В полезных функциях я давал функции для работы со временем, которые конвертируют туда/обратно дату в UNIX TIMESTAMP. Его можно записать как одно целое значение типа INT (UNSIGNED)
Re: [MySQL] Help -
BaRRyS3R - 27.02.2010
не мог бы ты мне, дураку, написать пример с использованием?
Re: [MySQL] Help -
MX_Master - 27.02.2010
Quote:
Originally Posted by BaRRyS3R
не мог бы ты мне, дураку, написать пример с использованием?
|
Функции для работы со временем - сама ссылка. Заюзать мона так: взять с getdate, gettime - "год,мес,день,час,мин,сек" и отдать это функции
date_to_timestamp. Она вернет число (кол-во секунд), называемое timestamp. Его уже можешь куда хочешь и как хочешь вставить.
timestamp_to_date - делает эту операцию наоборот. Кушает timestamp, отдает "год,мес,день,час,мин,сек" по ссылкам.
Re: [MySQL] Help -
^Woozie^ - 27.02.2010
гыыы вопрос.
базу создавать в MS Access или какой то другой программе? через интерфейс phpmyadmin это как то не очень удобно делать.
и в качестве первичного ключа юзать id пользователя?
Re: [MySQL] Help -
MX_Master - 27.02.2010
В мускуле в 90% случаях любая таблица имеет поле ID, и его в 100% случаев ставят первичным ключем и желательно auto increment.
Для правки и создания таблиц/БД вручную мона заюзать также MySQL Gui Tools. Мона найти на сайте MySQL. Правда, это все инглиш вершн, нго работает все быстро и четко. В инете есь не одна прога по правке БД MySQL. У мя лично MySQL Gui Tools.