Jump to content

Ajutor - Intrebari/Nelamuriri


Recommended Posts

Posted
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

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

Posted
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"/> 
  

Posted

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") 

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

Posted
-- 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] 

Posted
-- 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() 

Posted
dbExec( char_db, "UPDATE `??` SET `??`=?", tableName, columnName, columnValue ) 

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

Posted
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)

Posted
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 

Posted
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) ) 

Posted

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' 

Posted
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"

Posted
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

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

Posted
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

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

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