⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sasql.c

📁 石器时代6.0源代码 2008.08.27最新版 完全可编译开服!
💻 C
字号:
#define _SASQL_C_#include "version.h"#ifdef _SASQL//新添加#include "main.h"#include "sasql.h"#include <mysql/mysql.h>MYSQL mysql;MYSQL_RES *mysql_result;MYSQL_ROW mysql_row;typedef struct tagConfig{   char    sql_IP[16];
	int 	sql_Port;
    char    sql_ID[16];
    char    sql_PS[16];
    char    sql_DataBase[16];
    char    sql_Table[16];
    char    sql_LOCK[16];
    char    sql_NAME[16];
    char    sql_PASS[16];}Config;Config config;int AutoReg;

BOOL sasql_init( void )
{
	printf("\n数据库地址:  %s",getsql_IP());
	printf("\n数据库端口:  %d",getsql_Port());
	printf("\n数据库用户:  %s",getsql_ID());
	printf("\n数据库密码:  %s",getsql_PS());
	printf("\n登陆数据库名:%s",getsql_DataBase());
	printf("\n用户信息表名:  %s",getsql_Table());
	printf("\n用户锁定表名:  %s",getsql_LOCK());
	printf("\n账号字段名称:  %s",getsql_NAME());
	printf("\n密码字段名称:  %s",getsql_PASS());
	
	  if( !mysql_real_connect( &mysql,
	          getsql_IP(),
	          getsql_ID(),//帐号
	          getsql_PS(),//密码
	          getsql_DataBase(),//选择的资料库
	          getsql_Port(),
	          NULL,
	          0 ) )
		{
			printf("\n数据库连接失败!\n");
			return FALSE;
		}
  
  	printf("\n数据库连接成功\!\n");
  	return TRUE;
}
void sasql_close( void ){  mysql_close( &mysql );}int sasql_query(char *nm, char *pas){	char sqlstr[256];	sprintf(sqlstr,"select * from %s where %s=BINARY'%s'",config.sql_Table,config.sql_NAME,nm);		if(!mysql_query(&mysql,sqlstr)){	  int num_row=0;	  mysql_result=mysql_store_result(&mysql);	  num_row=mysql_num_rows(mysql_result);		mysql_free_result(mysql_result);	  if(num_row>0){	  	mysql_row=mysql_fetch_row(mysql_result);	  	if(strcmp(pas,mysql_row[1]) == 0){	  		return 1;		  }else{		  	printf("用户%s密码错误!\n",nm);		  	return 2;		  }	  }else{	  	printf("用户%s未注册!\n",nm);	  	return 3;	  }	}else{		printf("\n数据库查找失败!\n");		printf("重新连接数据库...");		sasql_close();		sasql_init();		printf("完成\n");		return 0;	}}#ifdef _SQL_REGISTERBOOL sasql_register(char *id, char *ps){	char sqlstr[256];//	if(AutoReg!=1)return FALSE;	sprintf(sqlstr,"INSERT INTO %s (%s,%s,RegTime,Path) VALUES (BINARY'%s','%s',NOW(),'char/0x%x')",config.sql_Table, config.sql_NAME, config.sql_PASS, id, ps, getHash(id) & 0xff);	if(!mysql_query(&mysql,sqlstr)){		printf("\n新用户注册成功!\n");		return TRUE;	}	printf("\n新用户注册失败!\n");	return FALSE;}#endifBOOL sasql_chehk_lock( char *idip ){	char sqlstr[256];	sprintf(sqlstr,"select * from %s where %s=BINARY'%s'", config.sql_LOCK, config.sql_NAME, idip);	if(!mysql_query(&mysql,sqlstr)){		return TRUE;	}	return FALSE;}BOOL sasql_add_lock( char *idip ){	char sqlstr[256];	sprintf(sqlstr,"INSERT INTO %s (%s) VALUES (BINARY'%s')", config.sql_LOCK, config.sql_NAME, idip);	if(!mysql_query(&mysql,sqlstr)){			printf("\n添加锁定%s成功!\n",idip);			return TRUE;	}	return FALSE;}BOOL sasql_del_lock( char *idip ){	char sqlstr[256];	sprintf(sqlstr,"delete from config.SQL_LOCK where %s=BINARY'%s'", config.sql_LOCK, config.sql_NAME, idip);	if(!mysql_query(&mysql,sqlstr)){		printf("\n解除锁定%s成功!\n",idip);		return TRUE;	}	return FALSE;}BOOL sasql_craete_lock( void ){}BOOL sasql_craete_userinfo( void ){}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -