Jump to content
  • 0

Problema conectare baza de date


AddisoN

Question

Primesc aceasta eroare cand deschid serverul in mysql_log : [ERROR] mysql_connect - empty connection data specified
 

new dbhandle;

#define db_host "127.0.0.1"
#define db_user "root"
#define db_pass ""
#define db_db "samp"

dbhandle=mysql_connect(db_host,db_user,db_pass,db_db);

 

Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0

nu a mers nici asa si am facut update la mysql r41-2, am reusit sa ma conectez la baza de date (si am si verificat cu mysql_errno) dar tot nu misca nimic. codul de la sistemul de login:

public OnPlayerConnect(playerid)
{
    new name[MAX_PLAYER_NAME],query[128],numrows/*,numfields*/;
    GetPlayerName(playerid,name,sizeof(name));
    format(query,sizeof(query),"SELECT count(id) FROM players WHERE nume=%s",name);
    //mysql_function_query(dbhandle,query,false,"","");
    mysql_tquery(dbhandle,query);
    //cache_get_data(numrows,numfields,dbhandle);
    cache_get_result_count(numrows);
    printf("Sunt %d conturi cu numele %s",numrows,name);
    if(numrows==0)
    {
     ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Register","Intro o parola pentru a te inregistra","Register","Quit");

    }
    else{
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Login","Introdu parola pentru a te loga","Login","Quit");
    }
    
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    
    if(dialogid==1)
    {
    new name[MAX_PLAYER_NAME],query[128];
    if(response){
    //a dat register
    if(strlen(inputtext)<6){//verific lungimea sirului
    
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Register","Introdu o parola care are cel putin 6 caractere","Register","Quit");
    }//<6}
    else{//>=6
    GetPlayerName(playerid,name,sizeof(name));
    format(query,sizeof(query),"INSERT INTO players (nume,parola) VALUES (%s,%s)",name,inputtext);
    //mysql_function_query(dbhandle,query,false,"","");
    mysql_tquery(dbhandle,query);
    ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX,"Sex Caracter","Alege sexul dorit pentru caracterul tau","Barbat","Femeie");
    }
    
    }
    else{
    //a dat quit
    Kick(playerid);
    }
    }
    
    
    if(dialogid==3){
    new name[MAX_PLAYER_NAME],query[128];
    GetPlayerName(playerid,name,sizeof(name));
    if(response){
    format(query,sizeof(query),"UPDATE players SET sex=1 WHERE nume=%s",name);
    mysql_tquery(dbhandle,query);
    //mysql_function_query(dbhandle,query,false,"","");
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Login","Introdu parola aleasa pentru a te loga","Login","Quit");
    }
    else{
    format(query,sizeof(query),"UPDATE players SET sex=2 WHERE nume=%s",name);
    mysql_tquery(dbhandle,query);
    //mysql_function_query(dbhandle,query,false,"","");
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Login","Introdu parola aleasa pentru a te loga","Login","Quit");
    }
    }
    if(dialogid==2){
    new name[MAX_PLAYER_NAME],query[128];
    GetPlayerName(playerid,name,sizeof(name));
    if(response){
    new numrows/*,numfields*/;
    format(query,sizeof(query),"SELECT COUNT(*) FROM players WHERE nume=%s AND parola=%s",name,inputtext);
    mysql_tquery(dbhandle,query);
    cache_get_result_count(numrows);
    //mysql_function_query(dbhandle,query,false,"","");
    //cache_get_data(numrows,numfields,dbhandle);    
    if(numrows==0){
     ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Login","Parola Gresita! \n Introdu parola pentru a te loga","Login","Quit");
    }
    else{
    SetPlayerPos(playerid,1743.1831,-1944.7471,13.5655);
    cache_get_value_index_int(0,4,pinfo[playerid][level]);
    cache_get_value_index_int(0,3,pinfo[playerid][sex]);
    cache_get_value_index_int(0,5,pinfo[playerid][money]);
    cache_get_value_index_int(0,6,pinfo[playerid][bizid]);
    cache_get_value_index_int(0,7,pinfo[playerid][houseid]);
    cache_get_value_index_int(0,8,pinfo[playerid][premium]);
    /*pinfo[playerid][level]=cache_get_field_content_int(0,"level",dbhandle);
    pinfo[playerid][money]=cache_get_field_content_int(0,"bani",dbhandle);
    pinfo[playerid][bizid]=cache_get_field_content_int(0,"bid",dbhandle);
    pinfo[playerid][houseid]=cache_get_field_content_int(0,"hid",dbhandle);
    pinfo[playerid][premium]=cache_get_field_content_int(0,"premium",dbhandle);
    pinfo[playerid][sex]=cache_get_field_content_int(0,"sex",dbhandle);*/
    SetPlayerScore(playerid,pinfo[playerid][level]);
    GivePlayerMoney(playerid,pinfo[playerid][money]);
    SetPlayerSkin(playerid,0);
    
    }
    
    }
    else{
    Kick(playerid);
    }
    }
    return 1;
}

41 minutes ago, KnowN said:

Incearca sa pui direct datele in functia mysql_connect.

 

Edited by AddisoN
Link to comment
Share on other sites

  • 0
1 hour ago, KnowN said:

Foloseste mysql_errno.

Am folosit si nu raporteaza nici o eroare.
    

//variabile globale
new MySQL:dbhandle
//onplayerconnect
dbhandle = mysql_connect("127.0.0.1","root","","samp");
    if(mysql_errno() != 0)
    {
        printf("Conexiunea la baza de date %s a esuat ---> Server Inchis ~~~", db_db);
        SendRconCommand("exit");
    }
    else
    {
        printf("Conexiunea la baza de date '%s' cu user-ul '%s' a reusit!!!", db_db, db_user);
    }

 

Edited by AddisoN
Link to comment
Share on other sites

  • 0
if(dialogid==1)
	{
	new name[MAX_PLAYER_NAME],query[128];
	if(response){
	//a dat register
	if(strlen(inputtext)<6){//verific lungimea sirului
	
	ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Register","Introdu o parola care are cel putin 6 caractere","Register","Quit");
	}//<6
	else{//>=6
	GetPlayerName(playerid,name,sizeof(name));
	format(query,sizeof(query),"INSERT INTO players (nume,parola) VALUES (%s,%s)",name,inputtext);
	//mysql_function_query(dbhandle,query,false,"","");
	mysql_tquery(dbhandle,query);
	ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX,"Sex Caracter","Alege sexul dorit pentru caracterul tau","Barbat","Femeie");
	}
	
	}
	else{
	//a dat quit
	Kick(playerid);
	}
	}

aici e o parte din sistemulde login/register si ar trebuii sa se creeze rand nou in baza de date ceea ce nu se intampla. 

sa-mp.ro.png

Link to comment
Share on other sites

  • 0
20 hours ago, AddisoN said:

Primesc aceasta eroare cand deschid serverul in mysql_log : [ERROR] mysql_connect - empty connection data specified
 


new dbhandle;

#define db_host "127.0.0.1"
#define db_user "root"
#define db_pass ""
#define db_db "samp"

dbhandle=mysql_connect(db_host,db_user,db_pass,db_db);

 

ai gresit parametri la mysql_connect, acei parametri sunt de la mysql r40 +

MySQL = mysql_connect("127.0.0.1", "root", "mydatabase", "mypass");//acestia sunt parametri corecti
tu ai pus 
	 mysql_connect("127.0.0.1", "root", "mypass", "mydatabase");

 

**********************************

Servicii Scripting de calitate:

*********************************

Future Project: ExpertGame

*********************************

Link to comment
Share on other sites

  • 0
32 minutes ago, DaEdRiC-FoX said:

ai gresit parametri la mysql_connect, acei parametri sunt de la mysql r40 +


MySQL = mysql_connect("127.0.0.1", "root", "mydatabase", "mypass");//acestia sunt parametri corecti
tu ai pus 
	 mysql_connect("127.0.0.1", "root", "mypass", "mydatabase");

 

am modificat si acum primesc aceasta eroare:

[18:33:04] [plugins/mysql] mysql_connect: handle error: no database specified
[18:33:04] [plugins/mysql] mysql_errno: invalid connection handle '1'
 

App pe sa-mp wiki la functia mysqlconnect sunt altfel parametrii  (const host[], const user[], const password[], const database[], MySQLOpt:option_id = MySQLOpt:0) , adik baza de date ultima

EDIT: mysql_connect("127.0.0.1","root","samp","") se pare ca baza de date este ultima pentru ca spuen  ca nu este specificata si doar acolo nu am trecut nimic intre ghilimele

Edited by AddisoN
Link to comment
Share on other sites

  • 0
Just now, AddisoN said:

am modificat si acum primesc aceasta eroare:

[18:33:04] [plugins/mysql] mysql_connect: handle error: no database specified
[18:33:04] [plugins/mysql] mysql_errno: invalid connection handle '1'
 

App pe sa-mp wiki la functia mysqlconnect sunt altfel parametrii  (const host[], const user[], const password[], const database[], MySQLOpt:option_id = MySQLOpt:0) , adik baza de date ultima

acea afirmatie era valabila pe mysql r39, dar daca acum ai zis ca ai trecut la r40+ era bine cum ai facut.

iti recomand sa te documentezi de aici: http://wiki.sa-mp.com/wiki/MySQL/R40

**********************************

Servicii Scripting de calitate:

*********************************

Future Project: ExpertGame

*********************************

Link to comment
Share on other sites

  • 0
1 minute ago, DaEdRiC-FoX said:

acea afirmatie era valabila pe mysql r39, dar daca acum ai zis ca ai trecut la r40+ era bine cum ai facut.

iti recomand sa te documentezi de aici: http://wiki.sa-mp.com/wiki/MySQL/R40

if(dialogid==1)
	{
	new name[MAX_PLAYER_NAME],query[128];
	if(response){
	//a dat register
	if(strlen(inputtext)<6){//verific lungimea sirului
	
	ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Register","Introdu o parola care are cel putin 6 caractere","Register","Quit");
	}//<6
	else{//>=6
	GetPlayerName(playerid,name,sizeof(name));
	format(query,sizeof(query),"INSERT INTO players (nume,parola) VALUES (%s,%s)",name,inputtext);
	//mysql_function_query(dbhandle,query,false,"","");
	mysql_tquery(dbhandle,query,"","");
	ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX,"Sex Caracter","Alege sexul dorit pentru caracterul tau","Barbat","Femeie");
	}
	
	}
	else{
	//a dat quit
	Kick(playerid);
	}
	}

Pe acel site m.am si uitat si nu e prima data cand folsoesc baza de date MySQL. Codul de mai sus este bun? 

Link to comment
Share on other sites

  • 0
2 hours ago, AddisoN said:

Am rezolvat problema am rescris sitemul de login/register si merge acum

Ok T/C

**********************************

Servicii Scripting de calitate:

*********************************

Future Project: ExpertGame

*********************************

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.