用+C+写的+CGI+留言板程序.doc_第1页
用+C+写的+CGI+留言板程序.doc_第2页
用+C+写的+CGI+留言板程序.doc_第3页
用+C+写的+CGI+留言板程序.doc_第4页
用+C+写的+CGI+留言板程序.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用 C 写的 CGI 留言板程序- 支持mysql 发表时间: 2006-4-29 10:52:32作者:newzy来源: 来自: /blog/blog.asp?name=newzy这里下载源代码: /develop/download/review.rar看看 eybuild 的中文手册: /develop/doc/manual/eyBuild_manual_ch.pdf这里下载 CSP 开发环境: /develop可以让留言本支持 MYSQL, 方法是 将下面的 db_mysql.c 替换掉 原来的 db.c 即可.程序接口与原来的兼容.extern void * open_db(char * mode);extern int close_db(void * fp);extern int db_read_next(void * fp, RECORD * rcd);extern int db_insert(void * fp, RECORD * rcd);/* db_mysql.c - where to start CGI */* Copyright(C) eyBuild Group, 2005, 2006. All Rights Reserved. */* */*modification history01a, 2005-04-03, newzy writen*/*DESCRIPTIONthis module is for suport mysql.Thanks for xxt help.ALSO SEE:db.c db.h*/#include #include #include #include #include #include db.h#include /* 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 strsql256 = ; 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, row1);strcpy(rcd-sex, row2);strcpy(rcd-mail, row3);strcpy(rcd-now, row4);strcpy(rcd-msg, row5);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 strsqlsizeof(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-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论