[MySQL] Help
#1

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
Используеться для одного массива, а каким образом тогда сделать для нескольких?
Reply
#2

тоже интересует работа с мюсол. киньте линк на учебник по sql запросам что ли.
Reply
#3

Quote:
Originally Posted by ^Psycho^
тоже интересует работа с мюсол. киньте линк на учебник по sql запросам что ли.
http://php.su/mysql/manual/
Глава 3.
Reply
#4

мой скрипт регистрации:http://zziggi.ru/files/sa-mp/Registe...gSysDialog.zip
писал давно, думаю разберётесь.
Reply
#5

Так, возникла новая проблема:

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
Reply
#6

Ну дык на родном английском написано, что нет прав для обновления этой таблицы, указанным юзером.
Reply
#7

Все разобрался, там не в этом проблема была
Reply
#8

И сново трабла...

Задача: Записать в БД последнюю дату и время соеденения с ней. Время и дату мы берем с сервера (getdate, gettime), а вот как их записать в 1 ячейку таблицы? Реально ли это вообще?
Reply
#9

В полезных функциях я давал функции для работы со временем, которые конвертируют туда/обратно дату в UNIX TIMESTAMP. Его можно записать как одно целое значение типа INT (UNSIGNED)
Reply
#10

не мог бы ты мне, дураку, написать пример с использованием?
Reply
#11

Quote:
Originally Posted by BaRRyS3R
не мог бы ты мне, дураку, написать пример с использованием?
Функции для работы со временем - сама ссылка. Заюзать мона так: взять с getdate, gettime - "год,мес,день,час,мин,сек" и отдать это функции date_to_timestamp. Она вернет число (кол-во секунд), называемое timestamp. Его уже можешь куда хочешь и как хочешь вставить.

timestamp_to_date - делает эту операцию наоборот. Кушает timestamp, отдает "год,мес,день,час,мин,сек" по ссылкам.
Reply
#12

гыыы вопрос.

базу создавать в MS Access или какой то другой программе? через интерфейс phpmyadmin это как то не очень удобно делать.

и в качестве первичного ключа юзать id пользователя?
Reply
#13

В мускуле в 90% случаях любая таблица имеет поле ID, и его в 100% случаев ставят первичным ключем и желательно auto increment.

Для правки и создания таблиц/БД вручную мона заюзать также MySQL Gui Tools. Мона найти на сайте MySQL. Правда, это все инглиш вершн, нго работает все быстро и четко. В инете есь не одна прога по правке БД MySQL. У мя лично MySQL Gui Tools.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)