luasql脚本工具的安装_luasql 安装-程序员宅基地

技术标签: Linux 环境部署  

在luasql的安装过程中不能成功编译,主要遇到两个问题

  1. 缺失mysql.h

    在这里插入图片描述
    解决方案:
    修改config指定的mysql有文件路径
    在这里插入图片描述
    以上两个错误解决方案。

    PS: ubuntu 非源码安装mysql时可以执行下面 在安装了mysql的前提下,还需要再安装libmysqlclient-dev,具体指令:sudo apt-get install libmysqlclient-dev

  2. 系统所用的lua版本及路径与luasql的不一致
    将config文件的lua路径配置成与系统的一致,具体路径查看,可以使用指令whereis或which
    在这里插入图片描述

    编译完成之后,模仿tests/example.lua写了一个test_mysql.lua 执行时发现有错误:
    在这里插入图片描述
    注意到红色框内的错误信息,将src目录下的mysql.so拷贝到上述目录下(luasql目录需要自己建立)
    这个我自身并没有遇见,参考网上有这个错误,拿来记录。
    之后再次执行test_mysql.lua 发现可以了,通过远程sqlyog查看到数据库内已经有了数据,附上测试代码:

-- load driver
local luasql = require "luasql.mysql"


-- create environment object
env = assert(luasql.mysql())
-- connect to data source
-- args: 数据库名 帐号 密码 IP 端口(IP及端口可以不用改)
conn = assert(env:connect("test","root","123","127.0.0.1",3306))

-- reset our table
res = conn:execute"DROP TABLE people"

res = assert(conn:execute[[
        CREATE TABLE people(
        name  varchar(50),
        email varchar(50)
        )
]])

-- add a few elements

list = {
           
 		{
     name="Jose das Couves", email="[email protected]", },    
     	{
     name="Manoel Joaquim", email="[email protected]", },    
        {
     name="Maria das Dores", email="[email protected]",},
}

for i, p in pairs (list) do
	res = assert (conn:execute(string.format([[
		INSERT INTO people
		VALUES ('%s', '%s')]], p.name, p.email)
	 ))
end
-- retrieve a cursor

cur = assert (conn:execute"SELECT name, email from people")
-- print all rows

row = cur:fetch ({
    }, "a")       -- the rows will be indexed by field names

while row do
	print(string.format("Name: %s, E-mail: %s", row.name, row.email))
	row = cur:fetch (row, "a")    -- reusing the table of results
end
-- close everything

cur:close()
conn:close()
env:close()

执行命令:

lua test_mysql.lua

正常显示为:
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/clinuxf/article/details/82986791

智能推荐

C++ vector简单使用_std::vector<int> scores(n);是什么_就叫风吧的博客-程序员宅基地

模板类vector详细介绍在计算中,vector(矢量)对应数组。在数学中,可以使用N个分量来表示N维数学矢量,因此就从这方面讲,数学矢量类似一个N维数组。然而数学矢量还有一些计算机矢量不具备的其他特征,如内乘积和外乘积。计算矢量存储了一组可随机访问的值。头文件 #include <vector>操作创建 vector<type>在这里插入代码片..._std::vector scores(n);是什么

spring boot集成dubbo-程序员宅基地

spring-boot-start-dubbospring-boot-start-dubbo,让你可以使用spring-boot的方式开发dubbo程序。使dubbo开发变得如此简单。如何使用1. clone 代码(可选,已经发布到中央仓库,可以直接依赖中央仓库的稳定版本)git clone [email protected]:teaey/spring-boot-star

wxPython 开发实战之 Font 详解_wxpython wx.font setfont-程序员宅基地

wx.Font 对象确定一个文本的外观。可以在其他有文本显示的控件比如 TextCtrl,Button,Label 通过 setFont(Font对象)来指明。其构造函数如下:wx.Font(pointSize,family,style,weight,underline,faceName,encoding)参数说明pointSizepointSize是字体的以磅为单..._wxpython wx.font setfont

DSPACK VCL Ported to Delphi_SEO-狼术的博客-程序员宅基地

DSPack是一组使用MS Direct Show和DirectX技术编写多媒体软件的组件和课程。DSPack在Win9X、ME、2000和Windows XP操作系统上与DirectX 9配合使用。目前,VMR(视频混合渲染器)在所有Windows操作系统上都可用。 我已经编写了DSPack,并考虑了扩展一对非限制性组件和使用DirectShow更简单的课程。使用DSpack,您可以制作您想要的所有内容:DVD、捕获、压缩、过滤器、电视、网络摄像头、DV。。。_dspack

硬件开发文档编制规范详解_设备开发文档版本拟定-程序员宅基地

硬件开发文档编制规范详解 1、硬件需求说明书硬件需求说明书是描写硬件开发目标,基本功能、基本配置,主要性能指标、 运行环境,约束条件以及开发经费和进度等要求,它的要求依据是产品规格说明书和系统需求说明书。它是硬件总体设计和制订硬件开发计划的依据,具体编写的内容有:系统工程组网及使用说明、硬件整体系统的基本功能_设备开发文档版本拟定

python的concat函数_python – Pandas的concat函数中的’levels’,’...-程序员宅基地

在为自己回答这个问题的过程中,我学到了很多东西,我想把一组例子和一些解释放在一起.关于水平论点的具体答案将趋于结束.pandas.concat:失踪手册导入和定义对象import pandas as pdd1 = pd.DataFrame(dict(A=.1, B=.2, C=.3), index=[2, 3])d2 = pd.DataFrame(dict(B=.4, C=.5, D=.6), i...

随便推点

【Chrome插件开发】ReRes和request-interceptor源码赏析+复现+插件开发完整解决方案_reres插件-程序员宅基地

[这个项目](https://github.com/Hans774882968/hans-reres)主要目的是用前端工程化技术栈复现`ReRes`和`request-interceptor`,希望将两者的功能结合起来。`request-interceptor`是前端开发调试常用工具,提供了多种修改请求的功能,但无法将请求映射到本地的文件。`ReRes`是JS逆向工程师常用工具,可以用来更改页面请求响应的内容。可以把请求映射到其他的url,也可以映射到本机的文件或者目录。_reres插件

分享 :CSS常见面试题_div居中面试题-程序员宅基地

CSS基础2.1 link和@import都可以为页面引入CSS文件,其区别是?将样式定义在单独的.css的文件里,link和@import都可以在html页面引入css文件。有link和@import两种方式,导入方式如下:link方式:”stylesheet” type=”text/css” href=”aa.css”>@import方式:”text/css”>@import _div居中面试题

记录下:win10 AMD CPU 下载 Chromium 源码并编译(版本 103.0.5060.66)_chromium 源码编译-程序员宅基地

只有看到我参考的文章,作者说是他的是amd的cpu,瞬间感觉自己的也可以,其实大学时候的笔记本是intel,但是内存只有12G,很旧了,弄了好久,最后也弄好了,就是编译和下载时候都很慢,编译时候cpu和内存都是爆满的。第三步,选择一个数字开头的,这样才会有这个tag标签,直接通过提交id,估计gitee镜像拉起代码时候找不到,但是tag肯定方便,文档也能方便,如果第一页没有,那就下一页,肯定能找到当前版本对应的数字tag版本。这方法我试了几次,都是下载到58%不行了,每次好几个小时下载,最后还是失败。_chromium 源码编译

svpwm控制系统的simulink的仿真,包括PARK模块,CLARK模块等_Simuworld的博客-程序员宅基地

svpwm控制系统永磁同步电机的矢量控制基于电机的dqO坐标系统。在建立数学模型前,可先作以下几点假设:即忽略铁心饱和,不计涡流及磁滞损耗,转子上没有阻尼绕组,永磁材料的电导率为零,电机电流为对称的三相正弦电流。在上述假设的基础上,运用坐标变换理论,便可得到dqO轴下PMSM数学模型。SVPWM的主要思想是:以三相对称正弦波电压供电时三相对称电动机定子理想磁链圆为参考标准,以三相逆变器不同开关模式作适当的切换,从而形成PWM波,以所形成的实际磁链矢量来追踪其准确磁链圆。_clark模块

红黑二叉树详解及理论分析-程序员宅基地

发表于我的博客网站(prajna.top): http://prajna.top/doc/2/175什么是红-黑二叉树? 红-黑二叉树首先是一颗二叉树,它具有二叉树的所有性质,是一种平衡二叉树。普通二叉树在生成过程中,容易出现不平衡的现象,即使是使用随机算法生成二叉树,也是有一定概率生成不平衡的二叉树. 如下图所示 :...

Python 爬虫proxy_109354657-程序员宅基地

import requestsfrom bs4 import BeautifulSoupdef crawl_page(url, headers, session, ): proxies = { "https":"https://127.0.0.1:10809", "http": "http://127.0.0.1:10809" } req = session.get(url,headers=headers,proxies=proxies) _109354657