Jump to content

Ajutor - Intrebari/Nelamuriri


Recommended Posts

Acum urmeaza crearea acestui tabel:
  
function creeazaTabel() 
     local characters = dbExec( char_db, "CREATE TABLE IF NOT EXISTS characters (id INT PRIMARY KEY NOT NULL, nume CHAR(50) NOT NULL, model INT NOT NULL, health REAL NOT NULL, posx REAL NOT NULL, posy REAL NOT NULL, posz REAL NOT NULL)") 
addEventHandler("onResourceStart", getRootElement(getThisResource()), creeazaTabel) 

ai uitat sa opresti functia ... ai uitat un end

Link to comment
function connect(res) 
    connection = mysql_connect("localhost", "root", "", "zombiesv", 3306) 
    
    if (not connection) then 
        if (res == getThisResource()) then 
            cancelEvent(true, "Nu te poti conecta la baza de date.") 
        end 
        return nil 
    end 
    
    return nil 
end 
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), connect, false) 
  

2: attempt to call global mysql_connect <a nil value> 

Link to comment
function connect(res) 
    connection = mysql_connect("localhost", "root", "", "zombiesv", 3306) 
    
    if (not connection) then 
        if (res == getThisResource()) then 
            cancelEvent(true, "Nu te poti conecta la baza de date.") 
        end 
        return nil 
    end 
    
    return nil 
end 
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), connect, false) 
  

2: attempt to call global mysql_connect <a nil value> 

mysql_connect este deprecated. Nu se mai foloseste.

Parerea mea este sa faci o resursa "mysql" si sa apelezi functia din "mysql" in celelalte resurse.

  
-- Exemplu de conectare la MySQL 
  
local host = "localhost"; 
local dbname = "zombiesv"; 
local username = "root"; 
local password = ""; 
  
function connectToDB() 
    zombie_db = dbConnect("mysql", "dbname="..dbname..";host="..host, username, password, "autoreconnect=1") 
    return zombie_db 
  
end 
  

In celelalte resurse deschizi conexiunea prin:

conn = call(getResourceFromName("mysql"), "connectToDB") 

EDIT: Sa nu uiti sa pui in meta.xml in resursa "mysql" linia asta:

    function="connectToDB" type="server"/> 
  

Link to comment
eu mai exct folosesc wamp....dar tot ceva de genu fac ca sa ma conectez ?
dbConnect("mysql", "dbname="..dbname..";host="..host, username, password, "autoreconnect=1") 

Da, nu conteaza daca folosesti XAMPP sau WAMP cat timp versiunea de MySQL este up-to-date.

Link to comment
-- Exemplu de conectare la MySQL 
  
local host = "localhost"; 
local dbname = "zo"; 
local username = "root"; 
local password = ""; 
  
function connectToDB() 
    zombie_db = dbConnect("mysql", "dbname="..dbname..";host="..host, username, password, "autoreconnect=1") 
    return zombie_db 
  
end 
  
function creeazaTabel() 
     local characters = dbExec( zombie_db, "CREATE TABLE characters (id INT PRIMARY KEY NOT NULL, nume CHAR(50) NOT NULL, model INT NOT NULL, health REAL NOT NULL, posx REAL NOT NULL, posy REAL NOT NULL, posz REAL NOT NULL)") 
     end 
addEventHandler("onResourceStart", getRootElement(getThisResource()), creeazaTabel) 
  

WARNING: cdb\server.lua:15: Bad argument @ 'dbExec' [Expected db-connection at argument 1, got nil] 

Link to comment
-- Exemplu de conectare la MySQL 
  
local host = "localhost"; 
local dbname = "zo"; 
local username = "root"; 
local password = ""; 
  
function connectToDB() 
    zombie_db = dbConnect("mysql", "dbname="..dbname..";host="..host, username, password, "autoreconnect=1") 
    return zombie_db 
  
end 
  
function creeazaTabel() 
     local characters = dbExec( zombie_db, "CREATE TABLE characters (id INT PRIMARY KEY NOT NULL, nume CHAR(50) NOT NULL, model INT NOT NULL, health REAL NOT NULL, posx REAL NOT NULL, posy REAL NOT NULL, posz REAL NOT NULL)") 
     end 
addEventHandler("onResourceStart", getRootElement(getThisResource()), creeazaTabel) 
  

WARNING: cdb\server.lua:15: Bad argument @ 'dbExec' [Expected db-connection at argument 1, got nil] 

Am modificat in postul initial functia, verifica postul. Si nu uita sa precizezi id-ul pedului, nu lasa idmodel.

EDIT: Acum vad ca ai editat postul. Nu ai facut conexiunea bine.

Inainte de crearea tabelului pune:

zombie_db = connectToDB() 

Link to comment
dbExec( char_db, "UPDATE `??` SET `??`=?", tableName, columnName, columnValue ) 

aici trebuie sa modific si '''''??'''' sau doar tablename column.. etc

Doar tablename, column etc.

'??' = pentru tabel/coloane

? = pentru valori

(ai grija ca dupa query sa fie scrise in ordine numele tabelelor si al coloanelor precum si al valorilor)

Link to comment
dbExec( char_db, "UPDATE `??` SET `??`=?", tableName, columnName, columnValue ) 

aici trebuie sa modific si '''''??'''' sau doar tablename column.. etc

Doar tablename, column etc.

'??' = pentru tabel/coloane

? = pentru valori

(ai grija ca dupa query sa fie scrise in ordine numele tabelelor si al coloanelor precum si al valorilor)

ai putea sa imi oferi un exemplu te rog ?, ca de exemplu am facut asta dar nu functioneaza.. in DB arata 0

addEventHandler("onPlayerQuit", getRootElement(), 
function () 
zombie_db = connectToDB() 
dbExec( zombie_db, "UPDATE `??` SET `??`=?", characters, health, getElementHealth(source) ) 
end) 

si imi da o eroare :

WARNING: cdb\server.lua:31: dbExec failed; (1146) Table 'zo.''' doesn't exist 

Link to comment
dbExec( char_db, "UPDATE `??` SET `??`=?", tableName, columnName, columnValue ) 

aici trebuie sa modific si '''''??'''' sau doar tablename column.. etc

Doar tablename, column etc.

'??' = pentru tabel/coloane

? = pentru valori

(ai grija ca dupa query sa fie scrise in ordine numele tabelelor si al coloanelor precum si al valorilor)

ai putea sa imi oferi un exemplu te rog ?, ca de exemplu am facut asta dar nu functioneaza.. in DB arata 0

addEventHandler("onPlayerQuit", getRootElement(), 
function () 
zombie_db = connectToDB() 
dbExec( zombie_db, "UPDATE `??` SET `??`=?", characters, health, getElementHealth(source) ) 
end) 

si imi da o eroare :

WARNING: cdb\server.lua:31: dbExec failed; (1146) Table 'zo.''' doesn't exist 

Ai mare grija cand faci diferenta dintre un string (sir de caractere) si o variabila.

Pune "" cand faci referire directa la ceva:

dbExec( zombie_db, "UPDATE `??` SET `??`=?", "characters", health, getElementHealth(source) ) 
  

Sau cum ai pus tu acolo characters fara trebuie sa mai adaugi ceva:

  
characters = "characters" 
dbExec( zombie_db, "UPDATE `??` SET `??`=?", characters, health, getElementHealth(source) ) 

Link to comment

alta eroare

-- Exemplu de conectare la MySQL 
  
local host = "localhost"; 
local dbname = "zo"; 
local username = "root"; 
local password = ""; 
  
function connectToDB() 
    zombie_db = dbConnect("mysql", "dbname="..dbname..";host="..host, username, password, "autoreconnect=1") 
    return zombie_db 
  
end 
  
function creeazaTabel() 
    zombie_db = connectToDB() 
     local characters = dbExec( zombie_db, "CREATE TABLE IF NOT EXISTS characters (id INT PRIMARY KEY NOT NULL, nume CHAR(50) NOT NULL, model INT NOT NULL, health REAL NOT NULL, posx REAL NOT NULL, posy REAL NOT NULL, posz REAL NOT NULL)") 
     end 
addEventHandler("onResourceStart", getRootElement(getThisResource()), creeazaTabel) 
  
  
 addEventHandler("onPlayerJoin", getRootElement(), 
function () 
zombie_db = connectToDB() 
x, y, z = getElementPosition(source) 
dbExec( zombie_db, "INSERT INTO characters (nume, model, health, posx, posy, posz) VALUES (?,?,?,?,?,?)", getPlayerName(source), getElementModel(source), getElementHealth(source), x, y, z ) 
end) 
  
addEventHandler("onPlayerQuit", getRootElement(), 
function () 
zombie_db = connectToDB() 
             
dbExec( zombie_db, "UPDATE `??` SET `??`=`?`", "characters", health, getElementHealth(source)) 
end 
) 

WARNING: cdb\server.lua:32: dbExec failed; (1054) Unknown column '''' in 'field list' 

Link to comment
alta eroare
-- Exemplu de conectare la MySQL 
  
local host = "localhost"; 
local dbname = "zo"; 
local username = "root"; 
local password = ""; 
  
function connectToDB() 
    zombie_db = dbConnect("mysql", "dbname="..dbname..";host="..host, username, password, "autoreconnect=1") 
    return zombie_db 
  
end 
  
function creeazaTabel() 
    zombie_db = connectToDB() 
     local characters = dbExec( zombie_db, "CREATE TABLE IF NOT EXISTS characters (id INT PRIMARY KEY NOT NULL, nume CHAR(50) NOT NULL, model INT NOT NULL, health REAL NOT NULL, posx REAL NOT NULL, posy REAL NOT NULL, posz REAL NOT NULL)") 
     end 
addEventHandler("onResourceStart", getRootElement(getThisResource()), creeazaTabel) 
  
  
 addEventHandler("onPlayerJoin", getRootElement(), 
function () 
zombie_db = connectToDB() 
x, y, z = getElementPosition(source) 
dbExec( zombie_db, "INSERT INTO characters (nume, model, health, posx, posy, posz) VALUES (?,?,?,?,?,?)", getPlayerName(source), getElementModel(source), getElementHealth(source), x, y, z ) 
end) 
  
addEventHandler("onPlayerQuit", getRootElement(), 
function () 
zombie_db = connectToDB() 
             
dbExec( zombie_db, "UPDATE `??` SET `??`=`?`", "characters", health, getElementHealth(source)) 
end 
) 

WARNING: cdb\server.lua:32: dbExec failed; (1054) Unknown column '''' in 'field list' 

Acelasi lucru si pentru health => "health"

Link to comment
alta eroare
-- Exemplu de conectare la MySQL 
  
local host = "localhost"; 
local dbname = "zo"; 
local username = "root"; 
local password = ""; 
  
function connectToDB() 
    zombie_db = dbConnect("mysql", "dbname="..dbname..";host="..host, username, password, "autoreconnect=1") 
    return zombie_db 
  
end 
  
function creeazaTabel() 
    zombie_db = connectToDB() 
     local characters = dbExec( zombie_db, "CREATE TABLE IF NOT EXISTS characters (id INT PRIMARY KEY NOT NULL, nume CHAR(50) NOT NULL, model INT NOT NULL, health REAL NOT NULL, posx REAL NOT NULL, posy REAL NOT NULL, posz REAL NOT NULL)") 
     end 
addEventHandler("onResourceStart", getRootElement(getThisResource()), creeazaTabel) 
  
  
 addEventHandler("onPlayerJoin", getRootElement(), 
function () 
zombie_db = connectToDB() 
x, y, z = getElementPosition(source) 
dbExec( zombie_db, "INSERT INTO characters (nume, model, health, posx, posy, posz) VALUES (?,?,?,?,?,?)", getPlayerName(source), getElementModel(source), getElementHealth(source), x, y, z ) 
end) 
  
addEventHandler("onPlayerQuit", getRootElement(), 
function () 
zombie_db = connectToDB() 
             
dbExec( zombie_db, "UPDATE `??` SET `??`=`?`", "characters", health, getElementHealth(source)) 
end 
) 

WARNING: cdb\server.lua:32: dbExec failed; (1054) Unknown column '''' in 'field list' 

Acelasi lucru si pentru health => "health"

am incercat si asa... dar tot nu functioneaza.. imd dau eroarea :D

Link to comment
alta eroare
-- Exemplu de conectare la MySQL 
  
local host = "localhost"; 
local dbname = "zo"; 
local username = "root"; 
local password = ""; 
  
function connectToDB() 
    zombie_db = dbConnect("mysql", "dbname="..dbname..";host="..host, username, password, "autoreconnect=1") 
    return zombie_db 
  
end 
  
function creeazaTabel() 
    zombie_db = connectToDB() 
     local characters = dbExec( zombie_db, "CREATE TABLE IF NOT EXISTS characters (id INT PRIMARY KEY NOT NULL, nume CHAR(50) NOT NULL, model INT NOT NULL, health REAL NOT NULL, posx REAL NOT NULL, posy REAL NOT NULL, posz REAL NOT NULL)") 
     end 
addEventHandler("onResourceStart", getRootElement(getThisResource()), creeazaTabel) 
  
  
 addEventHandler("onPlayerJoin", getRootElement(), 
function () 
zombie_db = connectToDB() 
x, y, z = getElementPosition(source) 
dbExec( zombie_db, "INSERT INTO characters (nume, model, health, posx, posy, posz) VALUES (?,?,?,?,?,?)", getPlayerName(source), getElementModel(source), getElementHealth(source), x, y, z ) 
end) 
  
addEventHandler("onPlayerQuit", getRootElement(), 
function () 
zombie_db = connectToDB() 
             
dbExec( zombie_db, "UPDATE `??` SET `??`=`?`", "characters", health, getElementHealth(source)) 
end 
) 

WARNING: cdb\server.lua:32: dbExec failed; (1054) Unknown column '''' in 'field list' 

Acelasi lucru si pentru health => "health"

am incercat si asa... dar tot nu functioneaza.. imd dau eroarea :D

Unde ai un singur ? nu pune '?', lasa un simplu ?. Am vazut ca ai pus ghilimele acolo. Si in al doilea rand deschide tabelul cu phpMyAdmin sau Navicat sa vezi daca ti-a facut coloana.

Link to comment
local characters = dbExec( zombie_db, "CREATE TABLE IF NOT EXISTS characters (id INT PRIMARY KEY NOT NULL, nume CHAR(50) NOT NULL, model INT NOT NULL, health REAL NOT NULL, posx REAL NOT NULL, posy REAL NOT NULL, posz REAL NOT NULL)") 

aici e problema.. zice ca se dubleaza PRIMARY KEY

Link to comment
local characters = dbExec( zombie_db, "CREATE TABLE IF NOT EXISTS characters (id INT PRIMARY KEY NOT NULL, nume CHAR(50) NOT NULL, model INT NOT NULL, health REAL NOT NULL, posx REAL NOT NULL, posy REAL NOT NULL, posz REAL NOT NULL)") 

aici e problema.. zice ca se dubleaza PRIMARY KEY

Pai tu folosesti MySQL, totul se schimba, acum mi-am dat seama. SQLite si MySQL par la fel dar sunt in acelasi timp foarte diferite.

local characters = dbExec( zombie_db, "CREATE TABLE IF NOT EXISTS characters (id INT NOT NULL AUTO_INCREMENT, nume VARCHAR(50) NOT NULL, model INT NOT NULL, health FLOAT NOT NULL, posx FLOAT NOT NULL, posy FLOAT NOT NULL, posz FLOAT NOT NULL, PRIMARY KEY (id))") 

Ai grija sa stergi tabelul daca l-a creat cu datele anterior gresite si dupa ruleaza iar resursa.

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...