设为首页收藏本站新闻投稿

MOD中国同盟社

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2243|回复: 2

amxx操作MySql的简单入门 [复制链接]

Rank: 3Rank: 3

帖子
195
精华
0
声望
762 点
金币
155 Mold
被赞许
0 次
注册时间
2009-7-3
发表于 2010-8-20 20:59:42 |显示全部楼层
dbi.inc                          里面的函数说明简单的汉化了下[-.- 其实是按照个人理解注释罢了]
MySql_Test.sma            简单的读取数据库操作同样加了注释

  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <dbi>
  4. #define _MAX 32
  5. new g_host[_MAX], g_user[_MAX], g_pass[_MAX], g_dbname[_MAX], g_error[_MAX],g_tabname[_MAX];
  6. new Sql:g_dbc; // 数据库连接句柄存放
  7. new Result:g_result; // 查询结果存放

  8. public plugin_init() // 插件初始化
  9. {
  10. register_plugin("Amxx读取MySql测试", "0.1", "小坏");
  11. // 注册数据库相关的cvar
  12. register_cvar("amx_sql_host", "127.0.0.1");
  13. register_cvar("amx_sql_user", "root");
  14. register_cvar("amx_sql_pass", "love");
  15. register_cvar("amx_sql_db", "amx");
  16. register_cvar("amx_sql_table", "admins");
  17. // 加载sql.cfg
  18. new configsDir[64];
  19. get_configsdir(configsDir, 63);
  20. server_cmd("exec %s/sql.cfg", configsDir);
  21. MySql()
  22. }
  23. public MySql()
  24. {
  25. new Float:fResult
  26. new string[_MAX]
  27. new iResult
  28. g_dbc = dbi_connect(g_host,g_user,g_pass,g_dbname,g_error,_MAX) // 连接数据库 返回连接句柄
  29. if (g_dbc == SQL_FAILED) { // 如果 句柄==SQL_FAILED也就是0 则连接失败
  30.   log_amx("Error Info:%s ",g_error) // log 错误原因
  31. } else {
  32.   dbi_query(g_dbc,"set names 'utf8'") // utf8 编码防止中文ID读写乱码
  33.   g_result = dbi_query(g_dbc,"SELECT * FROM `%s` WHERE auth  = 'lovehuai'",g_tabname)
  34.   while(dbi_nextrow(g_result) > 0)
  35.   {
  36.    iResult = dbi_result(g_result, "id")  // 读取int 整数类型
  37.    dbi_result(g_result, "score", fResult) // 读取Float 浮点类型
  38.    dbi_result(g_result, "name", string, 31) // 读取字符串类型
  39.   }
  40.   dbi_free_result(g_result) // 释放查询结果内存 切记必须要释放 否则内存泄漏
  41.   dbi_close(g_dbc); // 关闭数据库连接
  42. }
  43. }

复制代码


桌面.zip (2.84 KB, 下载次数: 29)
已有 1 人评分声望 收起 理由
jian894123078 + 5 新手发帖鼓励..

总评分: 声望 + 5   查看全部评分

使用道具 举报

Honorary Member

地狱恶势力

Rank: 7Rank: 7Rank: 7

帖子
3449
精华
4
声望
15019 点
金币
2052 Mold
被赞许
90 次
注册时间
2010-4-4

Modchina灌水王 可爱小猫 懒人勋章

发表于 2010-8-20 22:11:58 |显示全部楼层
噢...很好..支持一下新手发帖(虽然还不会)

使用道具 举报

Rank: 1

帖子
2
精华
0
声望
112 点
金币
10 Mold
被赞许
0 次
注册时间
2010-12-18
发表于 2010-12-19 17:42:00 |显示全部楼层
哎,AMXX开发的中文手册简直可以说是稀缺,英文又不能全懂,夹缝中生存难啊
多谢楼主分享,今天我正好被amx的mysql迷惑了,带入到amxx中来用,错得一塌糊涂呐~!
研究AMXX插件开发

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

回顶部