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

📄 db_mysql.c

📁 eybuild-x86-arm920t-2.6.7.tar 很好的嵌入式WEB开发环境
💻 C
字号:
/* db_mysql.c - database for mysql *//* Copyright(C) eyBuild Group, 2005, 2006. All Rights Reserved. *//* http://www.eybuild.com *//*modification history01a, 2005-04-03, newzy	writen*//*DESCRIPTIONthis module is for suport mysql.Thanks for xxt help.    ALSO SEE:db.c db.h*/#include <stdio.h>#include <string.h>#include <windows.h>#include <mysql.h>#include <undef.h>#include "db.h"#include <ebdef.h>/* database info */typedef struct {    char *			dbname;    char *			table_name;    MYSQL *			mydata;    MYSQL_RES *		records;} DB_INFO;/* open data base */void * open_db(char * mode){    DB_INFO * 		db_fp = NULL;        db_fp = (DB_INFO *)malloc(sizeof(DB_INFO));    memset(db_fp, 0, sizeof(DB_INFO));    if ( ! (db_fp->mydata = mysql_init(NULL) ))        return NULL;        db_fp->dbname = "example";    db_fp->table_name = "viewmsg";        if (!mysql_real_connect(db_fp->mydata, NULL, "root", "xxt",             db_fp->dbname, MYSQL_PORT, NULL, 0 ))        return NULL;                return db_fp;}/* close data base */int close_db(void * fp){    DB_INFO * 		db_fp = (DB_INFO *)fp;    if (NULL == fp)        return ERROR;            if (db_fp->records)        mysql_free_result(db_fp->records);        if (db_fp->mydata)        mysql_close(db_fp->mydata);            free (db_fp);        return OK;	}/* read record from base */int db_read_next(void * fp, RECORD * rcd){    DB_INFO * 		db_fp = (DB_INFO *)fp;    MYSQL_ROW		row;    /* get records from server */    if (NULL==db_fp)        return ERROR;            if (NULL==db_fp->records)    {        char 			strsql[256] = "";                  sprintf (strsql, "select * from %s", db_fp->table_name);        if (mysql_query(db_fp->mydata, strsql) )         {             close_db(db_fp);             return ERROR;         }                db_fp->records = mysql_store_result(db_fp->mydata);     }    /* read one record */    row = mysql_fetch_row(db_fp->records);    if (NULL == row)	/* end of records */        return 0;            strcpy(rcd->name, row[1]);    strcpy(rcd->sex, row[2]);    strcpy(rcd->mail, row[3]);    strcpy(rcd->now, row[4]);    strcpy(rcd->msg, row[5]);    rcd->msg_len = strlen(rcd->msg);        return sizeof(RECORD);}/* insert record to data base */int db_insert(void * fp, RECORD * rcd){    DB_INFO * 		db_fp = (DB_INFO *)fp;    char 			strsql[sizeof(RECORD)] = "";         /* get records from server */    if (NULL==db_fp || NULL==db_fp->mydata)        return ERROR;            sprintf(strsql,             "insert into %s (name,sex,email,date,content) "            "values('%s', '%s', '%s', '%s', '%s')",            db_fp->table_name,            rcd->name,            rcd->sex,            rcd->mail,            rcd->now,            rcd->msg            );         if (mysql_query(db_fp->mydata, strsql) )     {         close_db(db_fp);         return ERROR;     }            return sizeof(RECORD);}

⌨️ 快捷键说明

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