Mysql数据库已经成为各大中小网站必备要素之一,在开发程序时也难免要和网站数据进行对接,那如何来对接网站的Mysql数据库呢?本文主要着重讲一下如何连接数据库和取回数据

易语言自带的支持库中就有关于mysql的,如果你在你的支持库中没有看到,请按下面图示步骤操作
![图片[2]-易语言对接MySQL数据库进行数据检索-落叶博客](https://s1.ax1x.com/2020/03/31/GMON0e.png)
![图片[3]-易语言对接MySQL数据库进行数据检索-落叶博客](https://s1.ax1x.com/2020/03/31/GMOHnU.png)
然后我们看左边的支持库,就能找到mysql支持库了
![图片[4]-易语言对接MySQL数据库进行数据检索-落叶博客](https://s1.ax1x.com/2020/03/31/GMXmgP.png)
连接mysql数据库
在进行数据库操作之前,应当先连接到数据库,我们需要用到 连接MySql()BASIC
调用格式: 〈整数型〉 连接MySql ([文本型 MySql服务器地址],[文本型 用户名],[文本型 密码],[文本型 数据库名],[整数型 端口]) - MySQL支持库->MySql操作
英文名称:mysql_connect
连接到MySql服务器,返回一个MySql句柄。返回0表示连接失败,请检查该MYSQL服务器是否允许连接。有效的Mysql句柄使用完毕后需通过“断开Mysql”命令释放相关资源。本命令为初级命令。
参数<1>的名称为“MySql服务器地址”,类型为“文本型(text)”,可以被省略。本参数的作用是设置MYSQL服务器的地址。请输入您想要连接的MySql服务器的地址,如果为空或字符串"localhost",则是到本地主机的一个连接。
参数<2>的名称为“用户名”,类型为“文本型(text)”,可以被省略。本参数的作用是设置您的用户名,如果为空,为当前用户。
参数<3>的名称为“密码”,类型为“文本型(text)”,可以被省略。本参数的作用是设置您的密码,如果为空,且USER表中设置了“空字段可用”属性则可以匿名登陆。
参数<4>的名称为“数据库名”,类型为“文本型(text)”,可以被省略。本参数的作用是设置您想要访问的数据库,如果为空则为默认数据库。
参数<5>的名称为“端口”,类型为“整数型(int)”,可以被省略。本参数的作用是设置您想要连接的MySql服务器的端口,如果为空则为默认端口。
操作系统需求: Windows、Linux
这里需要注意,参数1-4都是文本型,而参数5端口是整数型
参数1为数据库的IP地址,一般在主机的控制台或者如果是单独买的MySql数据库可以在后台看到Ip地址,这里指的是外网地址
![图片[5]-易语言对接MySQL数据库进行数据检索-落叶博客](https://s1.ax1x.com/2020/03/31/GMx84H.png)
参数2为用户名,指的是我们登陆mysql数据库的用户名
参数3为登陆数据库的密码
![图片[6]-易语言对接MySQL数据库进行数据检索-落叶博客](https://s1.ax1x.com/2020/03/31/GMxyCj.png)
参数4位数据库名,如图所示
![图片[7]-易语言对接MySQL数据库进行数据检索-落叶博客](https://s1.ax1x.com/2020/03/31/GMxAN4.png)
另外,该函数的返回值是[MySql句柄],至于啥是句柄,你可以理解成识别一个数据库的唯一的一串数字,和窗口句柄意思类似。
代码如下BASIC
.版本 2
.支持库 mysql
.局部变量 b, 整数型
b = 连接MySql (“120.26.*.*”, “root”, “123445”, “user”, 3306)
这里会把返回的窗口句柄赋值到b
如果b=0即为数据库连接失败,我们可以这样写BASIC
.版本 2
.如果真 (b = 0)
信息框 (“数据库链接失败”, 0, , )
返回 ()
这样执行后如果没有连接成功就会直接返回,不再往下执行
![图片[8]-易语言对接MySQL数据库进行数据检索-落叶博客](https://s1.ax1x.com/2020/03/31/GQSmm6.png)
链接成功后,我们就可以进入下一步了
mysql语句
在操作mysql的时候我们需要用到mysql语句(我没有学过mysql,仅仅是了解过一点,如果表述不清楚还请大佬在评论指点)
获取数据库记录集然后检索数据
我们要分四步,
1.通过Mysql句柄来执行mysql语句获取记录集→2.通过 取记录集()来获取记录集句柄→3.通过 取记录集行数()来获取一个数字→4.通过计次循环来逐步检索每行的数据
我们需要用到的mysql语句为:select * from 表名
这里的表名即为数据库表名,如下图
![图片[9]-易语言对接MySQL数据库进行数据检索-落叶博客](https://s1.ax1x.com/2020/03/31/GQ3fUO.png)
这个语句即为获取表中的记录集
然后我们来认识一下如下几个函数
执行mysql语句()BASIC
调用格式: 〈逻辑型〉 执行SQL语句 (整数型 MySql句柄,文本型 Sql语句) - MySQL支持库->MySql操作
英文名称:mysql_query
执行一条SQL语句,执行成功返回真,失败返回假。如果执行成功可以通过“取记录集”命令得到记录集句柄。本命令为高级命令。
参数<1>的名称为“MySql句柄”,类型为“整数型(int)”。本参数必须是本进程调用“连接MySql”命令得到的返回值。
参数<2>的名称为“Sql语句”,类型为“文本型(text)”。本参数是设置查询数据库的SQL语句,如Select,Update,Insert,Delete等等语句。详细信息请参考相关SQL语言书籍。
操作系统需求: Windows、Linux
参数1为Mysql句柄,即为我们链接Mysql数据库时返回的整数b
参数2为mysql语句,我们用到的是select * from 表名
返回值是一个整数型的记录集句柄,和mysql句柄类似
可以这样写BASIC
MySQL语句 = “select * from 表名”
取记录集()BASIC
调用格式: 〈整数型〉 取记录集 (整数型 MySql句柄) - MySQL支持库->MySql操作
英文名称:store_result
得到查询后的记录的集合(简称:记录集)。返回记录集句柄。当使用完记录集后要通过“释放记录集”命令来释放记录集。本命令为初级命令。
参数<1>的名称为“MySql句柄”,类型为“整数型(int)”。本参数必须是本进程调用“连接MySql”命令得到的返回值。
操作系统需求: Windows、Linux
在执行这个命令之前,需要执行mysql语句,这样数据库才能给你找到记录集,否则返回值为空
参数1为MYsql句柄,即为我们连接mysql数据库时返回的整数b
我们可以命名一个整数变量“记录集句柄”来存放它,如下BASIC
记录集句柄 = 取记录集 (b)
取记录集行数()BASIC
调用格式: 〈长整数型〉 取记录集行数 (整数型 记录集句柄) - MySQL支持库->MySql操作
英文名称:num_rows
获取记录集的行数。本命令为初级命令。
参数<1>的名称为“记录集句柄”,类型为“整数型(int)”。本参数必须是本进程调用“取记录集”命令得到的返回值。
操作系统需求: Windows、Linux
这个命令可以为我们提供记录集一共有几行,方便下面我们用计次循环来逐行检索
参数1为记录集句柄,即为我们刚刚变量“记录集句柄”储存的整数
可以这样写,声明一个长整数型变量“记录数量”来进行储存BASIC
记录数量 = 取记录集行数 (记录集句柄)
用计次循环来逐行检索
假如我们要在一个user_table表中的username字段中寻找admin
这里我们需要用到以下几个函数
读字段值()BASIC
调用格式: 〈逻辑型〉 读字段值 (整数型 记录集句柄,通用型 字段,通用型变量 结果变量) - MySQL支持库->MySql操作
英文名称:fetch_text
读记录集中当前行的字段内容,字段索引从0开始。读取成功返回真,失败返回假。如果读取成功将把字段中的数据写入结果变量。本命令为初级命令。
参数<1>的名称为“记录集句柄”,类型为“整数型(int)”。本参数必须是本进程调用“取记录集”命令得到的返回值。
参数<2>的名称为“字段”,类型为“通用型(all)”。本参数指定您想要读取的字段,可以是字段名称或是字段序号。
参数<3>的名称为“结果变量”,类型为“通用型(all)”,提供参数数据时只能提供变量。本参数是存放返回结果的变量,如果字段类型为#MYSQL日期型或#MYSQL时间型或#MYSQL年份型时系统会转换为易语言中的日期时间型,如:字段为#MYSQL时间型,值为“23:33:34”,通过本命令得到的日期时间型变量的值为“2000-1-1 23:33:34”,如果字段为空时返回0或空字符串或空字节集。可以通过“字段是否为空”命令确定。
操作系统需求: Windows、Linux
我们首先要声明一个文本型变量“姓名”用来存放取到的内容
参数1为记录集句柄,即我们刚刚命名的变量“记录集句柄”
参数2为字段,如图
![图片[10]-易语言对接MySQL数据库进行数据检索-落叶博客](https://s1.ax1x.com/2020/03/31/GQGj3Q.png)
参数3即为取回的数据保存的变量,这里我们写“姓名”,即为把取回的数据保存在“姓名”这个变量之中
可以这样写BASIC
读字段值 (记录集句柄, “username”, 姓名)
到下一行()BASIC
调用格式: 〈逻辑型〉 到下一行 (整数型 记录集句柄) - MySQL支持库->MySql操作
英文名称:row_next
将当前记录指针向下移动一行,成功返回真,失败返回假。本命令为初级命令。
参数<1>的名称为“记录集句柄”,类型为“整数型(int)”。本参数必须是本进程调用“取记录集”命令得到的返回值。
操作系统需求: Windows、Linux
即为在当前的位置向下一行
参数1位记录集句柄,不多说了,说了不止一遍这是个什么东西了
可以这样写BASIC
到下一行 (记录集句柄)
用计次循环首依次检索的代码可以这么写BASIC
.版本 2
.支持库 mysql
.局部变量 记录数量, 整数型
.局部变量 i, 整数型
.局部变量 姓名, 文本型
.计次循环首 (记录数量, i)
读字段值 (记录集句柄, “username”, 姓名)
.如果 (姓名 = “admin”)
信息框 (“已找到”, 0, , )
跳出循环 ()
.否则
.如果结束
到下一行 (记录集句柄)
.计次循环尾 ()
总结
BASIC
.版本 2
.支持库 mysql
.局部变量 b, 整数型
.局部变量 记录集句柄, 整数型
.局部变量 MySQL语句, 文本型
.局部变量 记录数量, 整数型
.局部变量 i, 整数型
.局部变量 姓名, 文本型
b = 连接MySql (“120.26.*.*”, “root”, “123445”, “user”, 3306)
.如果真 (b = 0)
信息框 (“数据库链接失败”, 0, , )
返回 ()
.如果真结束
MySQL语句 = “select * from user_table”
执行SQL语句 (b, MySQL语句)
记录集句柄 = 取记录集 (b)
记录数量 = 取记录集行数 (记录集句柄)
.计次循环首 (记录数量, i)
读字段值 (记录集句柄, “username”, 姓名)
.如果 (姓名 = “admin”)
信息框 (“已找到”, 0, , )
跳出循环 ()
.否则
.如果结束
到下一行 (记录集句柄)
.计次循环尾 ()
![图片[11]-易语言对接MySQL数据库进行数据检索-落叶博客](https://s1.ax1x.com/2020/03/31/GQYMss.png)
如果不是太懂可以直接复制代码粘贴到易语言套用即可
暂无评论内容