Jump to content

Проблема с mysql


Recommended Posts

Всем привет. вроде все сделал правильно а все равно не чего не работает. вот логи

[2014-12-17 03:34:45] Compacting database 'registry.db' ...

[2014-12-17 03:34:45] MODULE: Loaded "MySQL 5.0 database module" (0.50) by "Alberto Alonso "

[2014-12-17 03:34:45] Starting resources....

[2014-12-17 03:34:45] SCRIPT ERROR: SQL\sql.lua:9: ')' expected near 'mysql'

[2014-12-17 03:34:45] ERROR: Loading script failed: SQL\sql.lua:9: ')' expected near 'mysql'

[2014-12-17 03:34:45] ERROR: attempt to call a nil value

[2014-12-17 03:34:45] ERROR: Logs\output.lua:1: call: failed to call 'SQL:db_exec'

акки вообще сейвит в internal

вот сам скрипт. не полный.

local dbData = {

db = "******",

host="*****",

user="root",

pass="",

port=3306

}

outputConsole ( "attempting mysql connection... please wait")

db = dbConnect( "mysql", "dbname="..dbData.db..";host="..dbData.host..";port="..dbData.port..";unix_socket=/opt/lampp/var/mysql/mysql.sock", dbData.user, dbData.pass, "share=1;autoreconnect=1" );

--db = dbConnect( "sqlite", "server_data.sql" );

я не знаю как спойлеры сделать. модераторы разберутся :D

Link to comment

Убери перенос строки("энтер") после db = dbConnect( "mysql",

Не советую использовать модуль.

Оффтоп:

я не знаю как спойлеры сделать. модераторы разберутся :D

Тему удалить и не разбираться.

Link to comment

Во первых он больше не поддерживается самими создателями, а во вторых в модуле нету каллбека после получения результата. Это основные моменты.

Link to comment
Неожиданно, я думал по другому никак нельзя с MySQL в МТА работать, а какой самые эффективный вариант, а лучше можете скинуть какой-то пример? Заранее спасибо.

Вот - https://wiki.multitheftauto.com/wiki/Se ... _functions

И вот - https://wiki.multitheftauto.com/wiki/DbConnect

- - databaseType: mysql

Link to comment
  • Other Languages Moderators

Еще я слышал, что его нету под linux, но точно не знаю, т.к. им не пользовался и не собираюсь.

Есть он под линукс, но libmysql для него в репозиториях нет.

Link to comment
Неожиданно, я думал по другому никак нельзя с MySQL в МТА работать, а какой самые эффективный вариант, а лучше можете скинуть какой-то пример? Заранее спасибо.

Вот - https://wiki.multitheftauto.com/wiki/Se ... _functions

И вот - https://wiki.multitheftauto.com/wiki/DbConnect

- - databaseType: mysql

Но для его работы нужно закинуть в папку с MTA Server.exe файл libmysql.dll? Я что-то совсем запутался.

Link to comment
Неожиданно, я думал по другому никак нельзя с MySQL в МТА работать, а какой самые эффективный вариант, а лучше можете скинуть какой-то пример? Заранее спасибо.

Вот - https://wiki.multitheftauto.com/wiki/Se ... _functions

И вот - https://wiki.multitheftauto.com/wiki/DbConnect

- - databaseType: mysql

Но для его работы нужно закинуть в папку с MTA Server.exe файл libmysql.dll? Я что-то совсем запутался.

Не нужно. Функции работают с коробки.

Link to comment
  • Other Languages Moderators

Не нужно. Функции работают с коробки.

То есть сам этот файл (libmysql.dll) это модуль так?

mysql_connect (Host, Username, Password, DB, Port) - это конект через модуль или нету разницы что использовать dbConnect или mysql_connect?

Выкинь ты уже этот модуль, он устарел.

Link to comment
Убери перенос строки("энтер") после db = dbConnect( "mysql",

Не советую использовать модуль.

Оффтоп:

я не знаю как спойлеры сделать. модераторы разберутся :D

Тему удалить и не разбираться.

Там убрано все. просто тут окно маленькое не получилось вместить весь текст.

local dbData = {

db = "bd",

host="localhost",

user="root",

pass="",

port=3306

}

outputConsole ( "attempting mysql connection... please wait")

db=dbConnect("mysql","dbname="..dbData.db..";host="..dbData.host..";port="..dbData.port..";unix_socket=/opt/lampp/var/mysql/mysql.sock", dbData.user, dbData.pass, "share=1;autoreconnect=1" );

--db = dbConnect( "sqlite", "server_data.sql" );

if not db then

print ( "The database has failed to connect")

--setTimer ( print, 1000, 0, "The database isn't connected!")

return

else

print ( "mysql database has been connected")

end

function db_query ( ... )

--[[if ( getResourceState ( getResourceFromName ( "Logs" ) ) == "running" ) then

local t = math.floor ( getTickCount ( ) )

local poll = dbPoll ( dbQuery ( db, ... ), -1 );

local rn = getResourceName ( sourceResource or getThisResource ( ) )

exports.nglogs:outputSQLLog ( "[sql.QUERY] "..tostring(rn).." queried: ".. table.concat ( { ... }, ", " ) .. " ("..tostring(math.floor(getTickCount()-t)).."MS)" )

return poll

else]]

local data = { ... }

return dbPoll ( dbQuery ( db, ... ), - 1 )

Edited by Guest
Link to comment
Убери перенос строки("энтер") после db = dbConnect( "mysql",

Не советую использовать модуль.

Оффтоп:

я не знаю как спойлеры сделать. модераторы разберутся :D

Тему удалить и не разбираться.

Там убрано все. просто тут окно маленькое не получилось вместить весь текст.

local dbData = {

db = "bd",

host="localhost",

user="root",

pass="",

port=3306

}

outputConsole ( "attempting mysql connection... please wait")

db = dbConnect( "mysql", "dbname="..dbData.db..";host="..dbData.host..";port="..dbData.port..";unix_socket=/opt/lampp/var/mysql/mysql.sock", dbData.user, dbData.pass, "share=1;autoreconnect=1" );

--db = dbConnect( "sqlite", "server_data.sql" );

if not db then

print ( "The database has failed to connect")

--setTimer ( print, 1000, 0, "The database isn't connected!")

return

else

print ( "mysql database has been connected")

end

function db_query ( ... )

--[[if ( getResourceState ( getResourceFromName ( "Logs" ) ) == "running" ) then

local t = math.floor ( getTickCount ( ) )

local poll = dbPoll ( dbQuery ( db, ... ), -1 );

local rn = getResourceName ( sourceResource or getThisResource ( ) )

exports.nglogs:outputSQLLog ( "[sql.QUERY] "..tostring(rn).." queried: ".. table.concat ( { ... }, ", " ) .. " ("..tostring(math.floor(getTickCount()-t)).."MS)" )

return poll

else]]

local data = { ... }

return dbPoll ( dbQuery ( db, ... ), - 1 )

Тебе же сказали, убери энтер (перенос строки) в 10-й строке, после: "db = dbConnect( "mysql", "

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...