留言板,使用数据库

游戏服务端另一项重要功能是保存玩家数据,Skynet提供了操作Mysql、MongoDB数据库的模块。

功能需求

如图所示,客户端发送 set XXX命令时,程序会把留言 XXX 存入数据库,发送 get命令时,程序会把整个留言板返回给客户端。

 

数据库模块

skynet.db.mysql模块提供操作MYSQL数据库的方法。

Lua API 说       明
mysql.connect(args)

连接数据库,参数 args是一个Lua表,包含数据库地址、用户名、密码等信息,API会返回数据库对象,用于后续操作

例如

local db = mysql.connect({
        host="127.0.0.1",
        port=3306,
        database="message_board",
        user="root",
        password="12345678",
        max_packet_size=1024*1024,
        on_connect=nil
    })

代表连接地址为 127.0.0.1、端口为 3306、数据库名为 message_board、用户名为 root、密码为 12345678的数据库

db:query(sql)

执行SQL语句。db代表 mysql.connect返回的对象,参数 sql代表 SQL语句

例如

local res = db:query("select * from msgs")

代表查询数据表,返回值 res代表查询的结果

db:query("insert into msgs (text) values (\'hello\')")

代表把字符串 hello插入msgs表的text栏位

 

posted @ 2023-08-21 18:37  独一无二~  阅读(39)  评论(0)    收藏  举报