при работе с mysql не вводится параметр в бд

linmsqn

Участник
Автор темы
337
9
Версия MoonLoader
Другое
Короче, через lua скрипт делал логгирование, и при вводе допустим любого ника по типу Nick_Name - не работает, то есть просто не вводит. а если убрать Nick_Name то получается что оно вводит. В чем проблема - не знаю, но вероятнее всего в настройках самой бд, может кодировку какую-то забыл, я хз честно. Пробовал даже получать время через
Lua:
os.date("%X")
, ее тоже не вводит. Возможно из-за того что символы по типу нижнего подчеркивания и тд, не знаю

Посмотреть вложение 169927

Lua:
mysql = mysql_drv.mysql()
mysqlconn = mysql:connect("логин", "бд", "пароль", "хост")
mysqlconn:execute("INSERT INTO logs (log, nickname) values('unban', тут я вставлял получение серверного ника, и даже просто обычный ник, не вводится)")
 
Решение
Lua:
local nickname = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)));
mysqlconn:execute(string.format('INSERT INTO logs (log, nickname) VALUES (\'testfunc\', \'%s\')', nickname));

Учи синтаксис SQL. Строки могут быть введены только в одинарных ковычках.

linmsqn

Участник
Автор темы
337
9
попробовал и в поле nickname вводить, и в поле who, все равно не ввелось
1663842438692.png


Lua:
function mysql_testfunctionlog()
    mysql = mysql_drv.mysql()
    mysqlconn = mysql:connect("1", "1", "1", "1")

    mysqlconn:execute(u8"INSERT INTO logs (log, who) values('testfunc', "..sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))..")")
end
 

linmsqn

Участник
Автор темы
337
9
LuaSQL: error executing query. MySQL: Unknown column 'Mooy_Name ' in 'field list'
Lua:
local result, error = mysqlconn:execute(u8"INSERT INTO logs (log, who) values('testfunc', "..sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))..")");
print(error);
Что выводит в лог?
 

savvin

Известный
406
139
Lua:
local nickname = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)));
mysqlconn:execute(string.format('INSERT INTO logs (log, nickname) VALUES (\'testfunc\', \'%s\')', nickname));

Учи синтаксис SQL. Строки могут быть введены только в одинарных ковычках.
 
  • Нравится
Реакции: linmsqn