🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# E4A与MySql数据库连接 # •关于MySql     mysql是十分受欢迎的数据库,被大量应用于各种程序,w3c官网也有很多关于mysql的教程,大家需要的话可以去看。本教程仅针对E4A连接数据库这块进行说明。 # •为什么用MySql     mysql数据库很好用,并发高,响应快,是不错的数据存储方式。 # •MySql有什么用     mysql可以用来做登录、留言管理、聊天系统数据支持等。 •连接方式     用E4A连接mysql的方法主要有两种。     一是直接将mysql连接信息包括密码写入你软件的代码里(不安全,如果你的软件没有经过专业加密可能会被反编译,黑客将得到密码);     二是用php的mysql中间件连接(相对安全,密码记录在php文件,你软件的代码里不包含密码,即使软件被反编译也得不到密码)。 # **•操作方法** ## 一、直接连接     直接连接数据库是可以的,但有些同学总不能成功,反复校验密码都没问题,主要原因是你的数据库为了安全限制了连接,仅在服务器上可以连接,例如:你服务器上有个网站用到了数据库,此时可以连接,因为网站和数据库处于同一个服务器,相当于本地连接,不受数据库的登录规则限制,且这是只能用localhost或127.0.0.1做地址。此时,我们需要手动为数据库开放外部连接的权限,即允许外网可以访问。 ## 二、通过php中间件连接     相比于第一种方法,本方法更容易实现也更安全,具体的操作如下: ![](https://img.kancloud.cn/d4/57/d457802967fcdf1c195e494861d3298c_821x759.png)     其中有一篇说明: >  本中间件用于远程连接MySQL数据库,请将本目录下的这两个php文件放到你的服务器或空间(必须能支持php),然后在E4A代码里填写openapi\_unsafe.php的完整路径即可。 > > 如果使用放在E4A官方服务器上的php中间件,连接示例如下: > > MySQL\_连接("e4a","126.41.252.40:3306","root","1234567","testsql") > > 如果使用放在你自己服务器上的php中间件,连接示例如下: > > MySQL\_连接("http://126.41.252.40/openapi\_unsafe.php","localhost:3306","root","1234567","testsql") > > 如果你的MySQL数据库安装在内网中,请先进行端口映射,连接示例如下: > > MySQL\_连接("e4a","n.nat123.net:9835","root","1234567","testsql") '此处n.nat123.net:9835是用nat123工具进行端口映射后的地址 > > 关于MySQL数据库操作中在APK被反编译后会暴露数据库账号和密码的问题,大家可以把账号和密码直接写到php中间件中,具体修改方法为:在openapi\_unsafe.php文件中的第20行,把$mainbody\[1\]改成你的数据库用户名,$mainbody\[2\]改成你的数据库密码,然后把修改后的这个php中间件重新上传到你的服务器,最后在E4A中连接数据库的代码中,用户名和密码填空文本即可; 按照官方给的说明,改下![](https://img.kancloud.cn/e4/4d/e44dade2bbc38edfaf800cf2b0ae00b8_955x659.png) 将它打包上传到服务器的空间上,使得本文件能被外网访问到 ![](https://img.kancloud.cn/55/3f/553f1792a7890b05ad1b57f748a5f90d_1114x586.png) 在E4A中使用 ![](https://img.kancloud.cn/28/94/2894f5f66626bbdd62e1f60d2da524fe_1280x777.png) 只要这样设置一般可以连上,如果有问题可以仔细检查下再试,一定要细心。