Требуется помощь в создании запроса -
warlock02 - 26.02.2013
Дано: mysql сервер, база, smf форум.
Задача: Создать запрос на создание записи игрока в базе форума.
Создаю запрос:
mysql_query("INSERT INTO `smf_members` (member_name, passwd, id_group) VALUES ('%s', '%s', 0", playername, MD5('password'));
Получаю ошибки:
C:\Users\Admin\Desktop\Samp 0.3x\gamemodes\game.pwn(4260) : error 035: argument type mismatch (argument 2)
C:\Users\Admin\Desktop\Samp 0.3x\gamemodes\game.pwn(4260) : error 017: undefined symbol "assword"
C:\Users\Admin\Desktop\Samp 0.3x\gamemodes\game.pwn(4260) : warning 215: expression has no effect
C:\Users\Admin\Desktop\Samp 0.3x\gamemodes\game.pwn(4260) : error 001: expected token: ";", but found ")"
C:\Users\Admin\Desktop\Samp 0.3x\gamemodes\game.pwn(4260) : fatal error 107: too many error messages on one line
Re: Требуется помощь в создании запроса -
Maikkk - 26.02.2013
Если используешь
этот плагин, то:
pawn Code:
new str[100];
format(str,100,"INSERT INTO `smf_members` (`member_name`,`passwd`,`id_group`) VALUES ('%s',MD5('%s'),'0')",playername,password);
mysql_query(str,-1,0,1);
Re: Требуется помощь в создании запроса -
mihan-888 - 26.02.2013
Найди в смф регистрацию, стяни запрос оттуда
Re: Требуется помощь в создании запроса -
eakwarp - 26.02.2013
Quote:
Originally Posted by warlock02
Дано: mysql сервер, база, smf форум.
Задача: Создать запрос на создание записи игрока в базе форума.
Создаю запрос:
mysql_query("INSERT INTO `smf_members` (member_name, passwd, id_group) VALUES ('%s', '%s', 0", playername, MD5('password'));
Получаю ошибки:
C:\Users\Admin\Desktop\Samp 0.3x\gamemodes\game.pwn(4260) : error 035: argument type mismatch (argument 2)
C:\Users\Admin\Desktop\Samp 0.3x\gamemodes\game.pwn(4260) : error 017: undefined symbol "assword"
C:\Users\Admin\Desktop\Samp 0.3x\gamemodes\game.pwn(4260) : warning 215: expression has no effect
C:\Users\Admin\Desktop\Samp 0.3x\gamemodes\game.pwn(4260) : error 001: expected token: ";", but found ")"
C:\Users\Admin\Desktop\Samp 0.3x\gamemodes\game.pwn(4260) : fatal error 107: too many error messages on one line
|
Вы в функции отправления запроса, пытаетесь форматировать строку. RTFM!
Re: Требуется помощь в создании запроса -
warlock02 - 26.02.2013
Quote:
Originally Posted by Maikkk
Если используешь этот плагин, то:
pawn Code:
new str[100]; format(str,100,"INSERT INTO `smf_members` (`member_name`,`passwd`,`id_group`) VALUES ('%s',MD5('%s'),'0')",playername,password); mysql_query(str,-1,0,1);
|
Компилит без ошибок, сейчас проверю что из этого вышло.
Quote:
Originally Posted by eakwarp
Вы в функции отправления запроса, пытаетесь форматировать строку. RTFM!
|
OH SHI~ Действительно, спасибо.
Re: Требуется помощь в создании запроса -
warlock02 - 26.02.2013
Не помогает, в дебаге выдает ошибку:
pawn Code:
[16:12:25] CMySQLHandler::Query(INSERT INTO `smf_members` (`member_name`,`passwd`,`id_group`) VALUES ('Clifford_Smithy',MD5('123'),) - An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1)
Код запроса:
pawn Code:
new str[100];
format(str,100,"INSERT INTO `smf_members` (`member_name`,`passwd`,`id_group`) VALUES ('%s',MD5('%s'),'0')",playername,password);
mysql_query(str,-1,0,1);
Re: Требуется помощь в создании запроса -
Maikkk - 26.02.2013
pawn Code:
new str[100];
format(str,100,"INSERT INTO `smf_members` (`member_name`,`passwd`,`id_group`) VALUES ('%s',MD5('%s'),'0')",playername,password);
mysql_query(str,-1,0,1);
Re: Требуется помощь в создании запроса -
PwnScripter - 26.02.2013
Dafuq are you saying?
Re: Требуется помощь в создании запроса -
warlock02 - 26.02.2013
Quote:
Originally Posted by Maikkk
pawn Code:
new str[100]; format(str,100,"INSERT INTO `smf_members` (`member_name`,`passwd`,`id_group`) VALUES ('%s',MD5('%s'),'0')",playername,password); mysql_query(str,-1,0,1);
|
тоже самое
Re: Требуется помощь в создании запроса -
Stepashka - 26.02.2013
Quote:
Originally Posted by warlock02
Не помогает, в дебаге выдает ошибку:
pawn Code:
[16:12:25] CMySQLHandler::Query(INSERT INTO `smf_members` (`member_name`,`passwd`,`id_group`) VALUES ('Clifford_Smithy',MD5('123'),) - An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1)
Код запроса:
pawn Code:
new str[100]; format(str,100,"INSERT INTO `smf_members` (`member_name`,`passwd`,`id_group`) VALUES ('%s',MD5('%s'),'0')",playername,password); mysql_query(str,-1,0,1);
|
Тебя не смущает отсутствие последнего значения в запросе?
У тебя запрос длинее чем строка в которую ты пытаешься его записать.
PS По секрету скажу что
` в запросе можно опустить, они нужны только в том случае если в ключе есть пробел или он совпадает с одним из зарегистрированных слов. В твоем случае это позволит тебе сэкономить 8 символов, и запрос пройдет, но правда стоит взять пароль или ник подлиннее, опять будет ошибка.
Re: Требуется помощь в создании запроса -
warlock02 - 26.02.2013
Quote:
Originally Posted by Stepashka
Тебя не смущает отсутствие последнего значения в запросе?
У тебя запрос длинее чем строка в которую ты пытаешься его записать.
PS По секрету скажу что ` в запросе можно опустить, они нужны только в том случае если в ключе есть пробел или он совпадает с одним из зарегистрированных слов. В твоем случае это позволит тебе сэкономить 8 символов, и запрос пройдет, но правда стоит взять пароль или ник подлиннее, опять будет ошибка.
|
Спасибо за разъяснения на счет '. Сейчас попробую вашим методом сотворить.
Re: Требуется помощь в создании запроса -
warlock02 - 26.02.2013
Увеличил str до 2048, результат:
[17:22:29] CMySQLHandler::
Query(INSERT INTO `smf_members` (member_name,passwd,id_group,id_member) VALUES ('Clifford_Smithers',MD5(') - An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1)
Re: Требуется помощь в создании запроса -
Stepashka - 26.02.2013
Quote:
Originally Posted by warlock02
Увеличил str до 2048, результат:
[17:22:29] CMySQLHandler::Query(INSERT INTO `smf_members` (member_name,passwd,id_group,id_member) VALUES ('Clifford_Smithers',MD5(') - An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1)
|
А теперь во всех
format поменяйте число
100 на
sizeof(string), и впредь не вставляйте где попало "непонятные" цифры.
Re: Требуется помощь в создании запроса -
warlock02 - 26.02.2013
Quote:
Originally Posted by Stepashka
А теперь во всех format поменяйте число 100 на sizeof(string), и впредь не вставляйте где попало "непонятные" цифры. 
|
Черт

Мое зрение и мозг десинхронизировались.
Вопрос решен, тему можно закрывать
Re: Требуется помощь в создании запроса -
jhonyxakep - 26.02.2013
Quote:
А теперь во всех format поменяйте число 100 на sizeof(string), и впредь не вставляйте где попало "непонятные" цифры.
|
они не не понятные, они магические! Даже целый стиль программирования есть по этому поводу:
http://ru.wikipedia.org/wiki/Магичес...граммирование)