Closed Brandon81 closed 2 years ago
Could you provide minimal reproduction code?
Tried to use also : SELECT FROM dailyreward_reward SELECT FROM 'dailyreward_reward'
Don't mind all prints, all of them are almost debug
Db connexion :
pdo_co = false
pdo_pro_co = false
function connectdb()
print(DATABASE_HOST)
print(DATABASE_NAME)
print(DATABASE_USERNAME)
-- print(DATABASE_PASSWORD)
-- print(3306)
pdo = mysqloo.connect(DATABASE_HOST, DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_NAME, tonumber(DATABASE_PORT))
pdo.onConnected = function()
print("[DB Reward] Connecté spèce de salaud")
pdo_co = true
end
pdo.onConnectionFailed = function()
print("[DB Reward] Sa marche pas la connection salaud")
end
pdo:setAutoReconnect(true)
pdo:connect()
end
Using this :
local rqtRecomp = pdo:query( "SELECT * FROM darktooth_gmodig.dailyreward_reward;")
print(pdo:hostInfo())
print(pdo:serverInfo())
print(pdo:serverVersion())
local tab = {}
rqtRecomp.onSuccess = function(q,data)
print("la query : ")
print(q)
for k,v in pairs(data) do
tab[k]=v
end
print("on a recup les recompences :")
PrintTable(tab)
end
rqtRecomp.onData = function(q,data)
print("onData : ")
PrintTable(data)
end
rqtRecomp.onAborted = function(q)
print("onAborted : ")
print(q)
end
rqtRecomp.onError= function(q, err, sql)
print("[DB Reward] Erreur lors de la récupération des récompenses")
print(err)
tab = "err"
end
rqtRecomp:start()
print(rqtRecomp:isRunning())
print("on attends")
-- rqtRecomp:wait(true)
print("on a attendu normalement")
timer.Simple(3, function()
print(rqtRecomp:isRunning())
end)
return tab
end
was using rqtRecomp:wait(true) but server kept freezing so i removed it so i can "see" if something is happening
Nothing is called back on rqtRecomp : no onError, no onAborted, no onSuccess, no onData...
Another problem is that pdo:ping() freeze the server too.
A really minimal reproduction :
rqt= db:query("SELECT * FROM anyTable")
rqt.onSuccess = function(q,data)
PrintTable(data)
end
Are the connection callbacks of the database ever run (either onConnected or onConnectionFailed?). I think the database is simply not connected, or the connection even failed.
It seems that the move to the MariaDB client has broken database:ping(), which now freezes due to it not having a timeout, I will fix this in an update.
callbacks from the database works and i can even see the connexion on phpmyadmin
And onConnected is called.
A little addition of the last message of the issue : Connection from the database was badly created, I recommend to create the connection after a player join.
The issue seems to have been a firewall issue blocking the query from receiving data from the server.
Hello there,
With another guy I talked with, we got a problem on the return of data.
We managed to have this problem on a Linux x32 architecture. With a server locally (using direct gmod server creation) (so windows architecture), we can get data with the same code running.
I even tried a Database:ping(), and the server freeze.
Strange thing : Using SQL Workbench : https://steamcommunity.com/sharedfiles/filedetails/?id=1712956238 I am able to receive data. SQL Workbench shoud be using MYSQLOO module to access mysql database.
Darktooth#7927 on discord if you want interactive chat mostly available friday 10pm GMT+1, (Paris if i'm correct) and saturday 2pm-6pm but i'll try to stay connected.
If you need any clarification, i'll try my best to explain.