亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sasql.c

?? 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
?? C
字號:
#define _SASQL_C_#include "version.h"#ifdef _SASQL1//新添加#include "main.h"#include "util.h"#include "mail.h"#include "db.h"#include "saacproto_util.h"#include "saacproto_serv.h"#ifdef _UNIVERSE_CHATROOM#include "chatroom.h"#endif// CoolFish: Family 2001/5/9#include "acfamily.h"#ifdef _DEATH_CONTEND#include "deathcontend.h"#endif#include <signal.h>#include <sys/types.h>#include <time.h>#include <sys/time.h>#include <errno.h>#include <sys/wait.h>#include <getopt.h>#include <stdio.h>#include <malloc.h>#include <strings.h>#include <string.h>#include <unistd.h>#include <netdb.h>#include <errno.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <fcntl.h>#include <netinet/tcp.h>#include "saacproto_work.h"#ifdef _OACSTRUCT_TCP#include "saacproto_oac.h"#endif#ifdef _PAUCTION_MAN#include "auction.h"#endif#include "lock.h"#define BACKLOGNUM 5#ifdef _FIX_WORKS#include "saacproto_work.h"int worksockfd;#endif#ifdef _LOCK_SERVER#include "saacproto_lserver.h"#endif#ifdef _SEND_EFFECT               // WON ADD 送下雪、下雨等特效 #include "recv.h"#endif#include "defend.h"#include "char.h"#include <mysql/mysql.h>#define BOOL int#define FALSE 0#define TRUE 1MYSQL mysql;MYSQL_RES *mysql_result;MYSQL_ROW mysql_row;typedef struct tagConfig{    char    sql_IP[16]; 		int     sql_Port; 				char    sql_Port1[16];		    char    sql_ID[16];        char    sql_PS[16];    char    sql_DataBase[16];      char    sql_Table[16];    		char    sql_Name[16];   		char    sql_PassWord[16];   				char    sql_RegTime[16]; 				char    sql_LoginTime[16]; 				char    sql_Path[10];  				char    sql_OnlineName[16]; }Config;Config config;int AutoReg;static int readConfig( char *path ){    char buf[2048];    FILE *fp;    fp = fopen( path , "r" );    if( fp == NULL ){ return -2; }    while( fgets( buf , sizeof( buf ) , fp )){        char command[1024];        char param[2048];        chop(buf);                easyGetTokenFromString( buf , 1 , command , sizeof( command ));        easyGetTokenFromString( buf , 2 , param , sizeof( param ));        if( strcmp( command , "sql_IP" ) == 0 ){            strcmp( config.sql_IP , param ) ;            snprintf( config.sql_IP , sizeof( config.sql_IP) , param );            log("\n數據庫地址:  %s",config.sql_IP);        } else if( strcmp( command , "sql_Port" ) == 0 ){        		config.sql_Port = atoi( param );            snprintf( config.sql_Port1 , sizeof( config.sql_Port1) , param );				  	log("\n數據庫端口:  %d",config.sql_Port);        } else if( strcmp( command , "sql_ID" ) == 0 ){        		strcmp( config.sql_ID , param ) ;            snprintf( config.sql_ID , sizeof( config.sql_ID) , param );						log("\n數據庫用戶:  %s",config.sql_ID);        } else if( strcmp( command , "sql_PS" ) == 0 ){        		strcmp( config.sql_PS , param ) ;            snprintf( config.sql_PS , sizeof( config.sql_PS) , param );						log("\n數據庫密碼:  %s",config.sql_PS);        } else if( strcmp( command , "sql_DataBase" ) == 0 ){        		strcmp( config.sql_DataBase , param ) ;            snprintf( config.sql_DataBase , sizeof( config.sql_DataBase) , param );						log("\n登陸數據庫名:%s",config.sql_DataBase);        } else if( strcmp( command , "sql_Table" ) == 0 ){        		strcmp( config.sql_Table , param ) ;            snprintf( config.sql_Table , sizeof( config.sql_Table) , param );				  	log("\n數據庫表名:  %s",config.sql_Table);        } else if( strcmp( command , "sql_Name" ) == 0 ){        		strcmp( config.sql_Name , param ) ;            snprintf( config.sql_Name , sizeof( config.sql_Name) , param );						log("\n用戶名字段:  %s",config.sql_Name);        } else if( strcmp( command , "sql_PassWord" ) == 0 ){        		strcmp( config.sql_PassWord , param ) ;        		snprintf( config.sql_PassWord , sizeof( config.sql_PassWord) , param );						log("\n密碼字段:    %s",config.sql_PassWord);        } else if( strcmp( command , "sql_RegTime" ) == 0 ){        		strcmp( config.sql_RegTime , param ) ;            snprintf( config.sql_RegTime , sizeof( config.sql_RegTime) , param );						log("\n注冊時間:    %s",config.sql_RegTime);        } else if( strcmp( command , "sql_LoginTime" ) == 0 ){        		strcmp( config.sql_LoginTime , param ) ;            snprintf( config.sql_LoginTime , sizeof( config.sql_LoginTime) , param );						log("\n登陸時間:    %s",config.sql_LoginTime);				} else if( strcmp( command , "sql_Path" ) == 0 ){        		strcmp( config.sql_Path , param ) ;            snprintf( config.sql_Path , sizeof( config.sql_Path) , param );						log("\n路徑字段:    %s",config.sql_Path);				} else if( strcmp( command , "sql_OnlineName" ) == 0 ){        		strcmp( config.sql_OnlineName , param ) ;            snprintf( config.sql_OnlineName , sizeof( config.sql_OnlineName) , param );						log("\n在線玩家字段:%s",config.sql_OnlineName);				} else if( strcmp( command , "AutoReg" ) == 0 ){        		AutoReg = atoi( param );        		log("\n開放自動注冊:%d",AutoReg);    fclose(fp);    return 0;    		}    }}BOOL sasql_init( void ){	if( mysql_init(&mysql) == NULL & readConfig("acserv.cf")){	  log("\n數據庫初始化失敗!");	  exit(1);    return FALSE;}  if( !mysql_real_connect( &mysql,          config.sql_IP,          config.sql_ID,//帳號          config.sql_PS,//密碼          config.sql_DataBase,//選擇的資料庫          config.sql_Port,          NULL,          0 ) )	{		log("\n更新數據庫失敗!\n");		return FALSE;	}    	log("\n數據庫連接成功!\n");#ifdef _SQL_BACKGROUND    if(!sasql_initonline())      	log("\n數據庫初始化失敗!\n");#endif  	return TRUE;}void sasql_close( void ){  mysql_close( &mysql );}BOOL sasql_query(char *nm, char *pas){	char sqlstr[256];	sprintf(sqlstr,"select * from %s where %s=BINARY'%s' and %s=BINARY'%s'",config.sql_Table,config.sql_Name,nm,config.sql_PassWord,pas);	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==1){	  	return TRUE;}	  else{	  	return FALSE;}}	else{		log("\n 數據庫查找失敗!\n");		return FALSE;}}#ifdef _SQL_BACKGROUNDBOOL sasql_update(char *nm, char *path){	char sqlstr[256];	sprintf(sqlstr,"update %s set %s='%s' where %s=BINARY'%s'",config.sql_Table,config.sql_Path,path,config.sql_Name,nm);	if(!mysql_query(&mysql,sqlstr)){		return TRUE;}	else{		log("\n更新數據庫失敗!\n");		return FALSE;}}BOOL sasql_online(char *nm,char *lnm){	char sqlstr[256];	sprintf(sqlstr,"update %s set %s='%s',%s=NOW() where %s=BINARY'%s'",config.sql_Table,config.sql_OnlineName,lnm,config.sql_LoginTime,config.sql_Name,nm);	if(!mysql_query(&mysql,sqlstr)){		return TRUE;}	else{		log("\n更新數據庫失敗!\n");		return FALSE;}}BOOL sasql_initonline(){	char sqlstr[256];	sprintf(sqlstr,"update %s set %s=NULL",config.sql_Table,config.sql_OnlineName);	if(!mysql_query(&mysql,sqlstr)){		return TRUE;}	else{		return FALSE;}}#endif#ifdef _SQL_REGISTERBOOL sasql_register(char *nm, char *pas){	char sqlstr[256];	if(AutoReg==1)	{		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){				sprintf(sqlstr,"INSERT INTO %s (%s,%s,%s) VALUES ('%s','%s',NOW())",config.sql_Table,config.sql_Name,config.sql_PassWord,config.sql_RegTime,nm,pas);				if(!mysql_query(&mysql,sqlstr)){					log("\n新用戶注冊成功!\n");					return TRUE;}				else{					log("\n新用戶注冊失敗!\n");				return FALSE;}}		  else{		  	return FALSE;}}		else{			log("\n 數據庫查找失敗!\n");			return FALSE;}	}	else{		return FALSE;}}#endif#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu久久综合| 美女视频第一区二区三区免费观看网站| 日本特黄久久久高潮| 91丨九色porny丨蝌蚪| 久久久久久一二三区| 韩日精品视频一区| 精品毛片乱码1区2区3区| 国产精品久久久久久久久免费相片| 亚洲激情欧美激情| 色乱码一区二区三区88| 亚洲女女做受ⅹxx高潮| 91久久一区二区| 丝袜美腿亚洲色图| 亚洲精品一区二区在线观看| 国产亚洲一区二区三区在线观看| 亚洲一区视频在线| 91精品国产91久久综合桃花| 日韩国产欧美视频| 国产亚洲欧美激情| av一二三不卡影片| 亚洲五月六月丁香激情| 91精品在线免费| 国产高清在线观看免费不卡| 国产精品久久久久影院色老大| 99久久精品99国产精品| 性久久久久久久| 久久网站热最新地址| 香蕉乱码成人久久天堂爱免费| 不卡的av中国片| 亚洲视频小说图片| 欧美精品在线观看播放| 国产乱一区二区| 亚洲精品免费在线观看| 精品国产凹凸成av人网站| 99re视频精品| 国产精品1024| 青青草原综合久久大伊人精品| 国产日韩欧美不卡在线| 91精品综合久久久久久| 日本高清不卡视频| gogogo免费视频观看亚洲一| 青娱乐精品在线视频| 亚洲成a人片综合在线| 91精品麻豆日日躁夜夜躁| 一区二区视频免费在线观看| 欧美变态口味重另类| 欧美久久高跟鞋激| 在线免费观看一区| 欧美亚洲一区三区| 欧美在线不卡视频| 欧美性受极品xxxx喷水| 99re这里只有精品首页| 99国产欧美久久久精品| av中文一区二区三区| 国产一区二区三区高清播放| 日本伊人色综合网| 久久精品国产第一区二区三区| 人妖欧美一区二区| 精品一二线国产| 成人激情免费网站| 在线观看欧美日本| 欧美麻豆精品久久久久久| 日韩一区二区在线看片| 337p日本欧洲亚洲大胆精品 | 欧美激情综合五月色丁香小说| 日韩视频123| 国产人妖乱国产精品人妖| 亚洲视频免费观看| 亚洲bt欧美bt精品777| 国产一区三区三区| 成人免费看片app下载| 色婷婷国产精品| 色天天综合色天天久久| 欧美精品欧美精品系列| 国产色婷婷亚洲99精品小说| 亚洲美女在线一区| 美女网站视频久久| 91麻豆福利精品推荐| 成人激情动漫在线观看| 成人午夜激情片| 亚洲色图在线播放| 国产欧美日韩三区| 日韩成人免费看| 色综合久久综合网97色综合| 精品国产电影一区二区| 亚洲激情中文1区| 国产在线精品国自产拍免费| 欧美电影一区二区| 1024国产精品| 不卡一区中文字幕| 国产香蕉久久精品综合网| 亚洲大片精品永久免费| 亚洲综合激情网| 国产高清无密码一区二区三区| 欧美乱熟臀69xxxxxx| 亚洲欧洲另类国产综合| 国产精品一区二区不卡| 日韩一二三四区| 午夜精品aaa| 欧美一区二区视频免费观看| 亚洲国产日韩综合久久精品| 欧美日韩你懂的| 亚洲电影一级黄| 欧美一区二区三区在| 日本不卡中文字幕| 精品日韩一区二区三区免费视频| 青青草成人在线观看| 日韩欧美国产一区二区在线播放| 日韩成人av影视| 久久女同性恋中文字幕| 成人精品亚洲人成在线| 一区二区三区四区乱视频| 欧美亚洲日本国产| 国内精品国产成人| 国产精品伦理一区二区| 欧美综合久久久| 久久99国产精品免费| 综合亚洲深深色噜噜狠狠网站| 欧美自拍偷拍一区| 国产大陆亚洲精品国产| 综合久久给合久久狠狠狠97色| 欧美性生交片4| 国产一区视频导航| 亚洲主播在线观看| 午夜视频一区二区| 欧美妇女性影城| 日韩电影网1区2区| 日韩毛片一二三区| 日本高清不卡视频| 成人永久aaa| 乱中年女人伦av一区二区| 国产精品久久午夜夜伦鲁鲁| 色中色一区二区| 国产黑丝在线一区二区三区| 一区二区三区高清| 久久久久久日产精品| 欧美日韩精品欧美日韩精品一| 国产精品1区2区| 蜜桃传媒麻豆第一区在线观看| 亚洲欧美日本在线| 国产精品欧美极品| 国产精品久久毛片av大全日韩| 精品三级av在线| 26uuu久久天堂性欧美| 日韩一区二区电影| 欧美一区二区在线视频| 欧美日韩精品欧美日韩精品| 色老综合老女人久久久| 一本一本久久a久久精品综合麻豆| 国产成人自拍在线| 国产91对白在线观看九色| 韩国在线一区二区| 国产呦精品一区二区三区网站| 日韩精品91亚洲二区在线观看| 午夜国产精品一区| 国内精品伊人久久久久av一坑| 久久精品国产亚洲一区二区三区| 热久久久久久久| 精品一区二区三区免费观看| 国产精品一级黄| 色综合天天综合色综合av| av网站免费线看精品| 在线欧美日韩精品| 欧美一区二区福利在线| 精品精品欲导航| 国产精品少妇自拍| 天天综合网天天综合色| 久久精品99国产精品日本| 国产精品亚洲第一| 欧美日韩精品一区二区三区四区| 在线91免费看| 亚洲欧洲99久久| 国内精品国产三级国产a久久| 97精品久久久久中文字幕 | 欧美午夜精品久久久久久孕妇| 91精品黄色片免费大全| 久久综合色一综合色88| 国产精品不卡视频| 免费看黄色91| 欧美在线你懂得| 欧美极品xxx| 久久97超碰色| 67194成人在线观看| 亚洲男人天堂av| 成人免费的视频| 久久色.com| 精品一区二区三区免费播放| 欧美性受极品xxxx喷水| 亚洲欧美日本在线| 99精品久久久久久| 国产精品不卡在线| 99久久综合国产精品| 国产欧美日韩在线看| 国产伦精品一区二区三区视频青涩| 欧美日韩精品欧美日韩精品| 亚洲免费电影在线| 91国产福利在线| 一区二区三区中文字幕电影 | 天堂影院一区二区| 欧美高清视频在线高清观看mv色露露十八|