Требуется помощь в создании запроса
#1

Дано: 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
Reply
#2

Если используешь этот плагин, то:

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);
Reply
#3

Найди в смф регистрацию, стяни запрос оттуда
Reply
#4

Quote:
Originally Posted by warlock02
View Post
Дано: 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!
Reply
#5

Quote:
Originally Posted by Maikkk
View Post
Если используешь этот плагин, то:

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
View Post
Вы в функции отправления запроса, пытаетесь форматировать строку. RTFM!
OH SHI~ Действительно, спасибо.
Reply
#6

Не помогает, в дебаге выдает ошибку:
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);
Reply
#7

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);
Reply
#8

Dafuq are you saying?
Reply
#9

Quote:
Originally Posted by Maikkk
View Post
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);
тоже самое
Reply
#10

Quote:
Originally Posted by warlock02
View Post
Не помогает, в дебаге выдает ошибку:
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 символов, и запрос пройдет, но правда стоит взять пароль или ник подлиннее, опять будет ошибка.
Reply
#11

Quote:
Originally Posted by Stepashka
View Post
Тебя не смущает отсутствие последнего значения в запросе?
У тебя запрос длинее чем строка в которую ты пытаешься его записать.

PS По секрету скажу что ` в запросе можно опустить, они нужны только в том случае если в ключе есть пробел или он совпадает с одним из зарегистрированных слов. В твоем случае это позволит тебе сэкономить 8 символов, и запрос пройдет, но правда стоит взять пароль или ник подлиннее, опять будет ошибка.
Спасибо за разъяснения на счет '. Сейчас попробую вашим методом сотворить.
Reply
#12

Увеличил 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)
Reply
#13

Quote:
Originally Posted by warlock02
View Post
Увеличил 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), и впредь не вставляйте где попало "непонятные" цифры.
Reply
#14

Quote:
Originally Posted by Stepashka
View Post
А теперь во всех format поменяйте число 100 на sizeof(string), и впредь не вставляйте где попало "непонятные" цифры.
Черт Мое зрение и мозг десинхронизировались.

Вопрос решен, тему можно закрывать
Reply
#15

Quote:

А теперь во всех format поменяйте число 100 на sizeof(string), и впредь не вставляйте где попало "непонятные" цифры.

они не не понятные, они магические! Даже целый стиль программирования есть по этому поводу: http://ru.wikipedia.org/wiki/Магичес...граммирование)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)