文档章节

Http服务器-第九步lua编写留言板demo

梦想游戏人
 梦想游戏人
发布于 2016/09/19 23:05
字数 382
阅读 53
收藏 2

示例地址 www.dreamyouxi.com 中的留言

github:  https://github.com/dreamyouxi/LiteHttp

 

c++吧数据库接口写好后,给lua用,然后添加lua 支持库

sql.lua



local t={};

t.config=require("sql_config");
 


--create a sql obj for lua
function t:create()
    return  SQL_Script_create();

end

-- connect the ins to mysql
function t:connect(ins)
    local c=t.config;

    local bool = SQL_Script_connect(ins,c.host , c.port , c.user , c.pwd , c.db);
 
    return bool;
end

--release res
function t:release(ins)
    SQL_Script_release(ins);
end

--exec sql
function t:execute(ins,encoding,sql,col_count)
  local t={ SQL_Script_execute(ins,encoding,sql,col_count)};
 
 if col_count == 0 then
    if t[1] == "OK" then
     return "OK";
     else
     return nil;
    end
 end
 

   return t;
end


return t;

 

MsgBoard.lua


local t={};

local suc_str= "<html lang='en'><head><meta charset='utf-8'><meta http-equiv='refresh'content='1;url=list.html'> </head><body><p>留言成功,自动跳转中......</p></body></html>";

local function makeMsg(name,txt,time)
	local ret="<p>";
	ret = ret ..  os.date("%Y-%m-%d %H:%M",time   ) .."   "   ;
	ret = ret  .. name  .. " 说:" ;
	ret = ret .. txt;
	ret =ret .. "</p>"

return ret;

end

function t:doRequest(p)
	local name = p["name"];
	local msg= p["msg"];
	if p["list"]~=nil then
		local ret="";
	--	ret =ret .. makeMsg("7:20","张3532532535三","哈啊哈");

		local ins = sql:create();
		sql:connect(ins);

		local t= sql:execute(ins, "UTF8" ,"select name,msg,time from msg  order by time DESC" ,3);
			
		local len = table.getn(t);
		for i=1 , len,3 do
			ret = ret ..  makeMsg(t[i],t[i+1],t[i+2])
		end


 		sql:release(ins);

		return  packCustomHtmlData(ret) 
	end


	if name == nil or name == "" then
		return packCustomHtmlData("昵称不能为空");
	end

	if msg == nil or msg == "" then
		return packCustomHtmlData("内容不能为空")
	end

	name= skipWhite(name);
	msg=skipWhite(msg)
	print(   "msg ".. name .. "  "  ..  msg  );

		local ins = sql:create();
		sql:connect(ins);

	local t= sql:execute(ins,"GB2312","INSERT INTO msg VALUES(\"" ..  name  .. "\",\"".. msg .."\",".. (os.time()) ..")" ,0);
    --local t= sql:execute(ins,"INSERT INTO msg VALUES(\"1\",\"2\",\"3\") " ,0);

 		sql:release(ins);

	
	if  t ~= nil  then

		return suc_str;

	end
	return packCustomHtmlData( "留言失败"   );


--	return   " welcome  MsgBoard "

end


return t;

 

 

 

234324

 

 

© 著作权归作者所有

梦想游戏人
粉丝 41
博文 461
码字总数 132517
作品 0
成都
私信 提问
使用 WRK 压力测试工具对 ASP.NET Core 的接口进行压力测试

0. 简要介绍 WRK 是一款轻量且易用的 HTTP 压力测试工具,通过该工具我们可以方便地对我们所开发的 WebAPI 项目进行压力测试,并且针对测试的情况返回结果。 PS:Wrk 并不能针对测试的结果生...

myzony
2018/10/16
0
0
xmake 描述语法和作用域详解

xmake的工程描述文件xmake.lua虽然基于lua语法,但是为了使得更加方便简洁得编写项目构建逻辑,xmake对其进行了一层封装,使得编写xmake.lua不会像些makefile那样繁琐 基本上写个简单的工程构...

ruki
2016/10/26
25
0
在线游戏平台服务器框架 - TDEngine

tdengine是一个轻量级的为在线游戏服务器打造的框架。他是由Rust为底层,lua为逻辑层的一个框架。框架依赖于数据库Redis及Mysql。 Build tdengine非常简单,动手编译一个试着玩一下是个很好的...

tickbh
2016/04/08
6.6K
1
C语言实现的CGI,完成了留言板功能

地址:https://github.com/zhouweiit/cgi 基于ngnix+spawn_cgi+fastcgi作为服务器,使用C语言编写的cgi,实现了简单的留言板功能; 项目结构简介: 1.conf主要包含了nginx与fastcig的配置 2....

zhouweiit_
2018/05/09
591
0
快速的消息队列--SquirrelMQ

SquirrelMQ是一个快速的消息队列。 SquirrelMQ特性: 1. SquirrelMQ使用Slab内存分配算法来降低内存碎片,使用epoll来解决高并发问题。效率比redis要高,使用简单。 2. 另外SquirrelMQ支持持...

匿名
2011/09/10
17.7K
1

没有更多内容

加载失败,请刷新页面

加载更多

golang-字符串-地址分析

demo package mainimport "fmt"func main() {str := "map.baidu.com"fmt.Println(&str, str)str = str[0:5]fmt.Println(&str, str)str = "abc"fmt.Println(&s......

李琼涛
41分钟前
3
0
Spring Boot WebFlux 增删改查完整实战 demo

03:WebFlux Web CRUD 实践 前言 上一篇基于功能性端点去创建一个简单服务,实现了 Hello 。这一篇用 Spring Boot WebFlux 的注解控制层技术创建一个 CRUD WebFlux 应用,让开发更方便。这里...

泥瓦匠BYSocket
今天
6
0
从0开始学FreeRTOS-(列表与列表项)-3

FreeRTOS列表&列表项的源码解读 第一次看列表与列表项的时候,感觉很像是链表,虽然我自己的链表也不太会,但是就是感觉很像。 在FreeRTOS中,列表与列表项使用得非常多,是FreeRTOS的一个数...

杰杰1号
今天
4
0
Java反射

Java 反射 反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的 Class,Class 类 用于表示.class 文件(字节码)) 一、反射的概述 定义:JAVA 反射机制是在运行状态中,对于任...

zzz1122334
今天
4
0
聊聊nacos的LocalConfigInfoProcessor

序 本文主要研究一下nacos的LocalConfigInfoProcessor LocalConfigInfoProcessor nacos-1.1.3/client/src/main/java/com/alibaba/nacos/client/config/impl/LocalConfigInfoProcessor.java p......

go4it
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部