Unity链接Mysql 数据库实现注册登录

1.搭建注册和登录的UI以及跳转代码撰写

2.安装Mysql 数据库到服务器或者本地电脑

我这里使用的是小皮工具,安装玩数据库后创建一个新的用户以及表格

安装Navicate 链接数据库,方便可视化数据库

点击查询-新建查询-输入命令-运行!完成表格创建!

在这里执行一条SQL数据库代码命令,目的是创建一个表格。

下面就是创建一个简单表格的命令!

sql 复制代码
CREATE TABLE `user` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `username` VARCHAR(50) NOT NULL COMMENT '账号',
  `password` VARCHAR(255) NOT NULL COMMENT '密码哈希值',
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户账号表'; 

截图里面我是已经创建过了!

3.把MySql.Data.dll 放到Unity 项目Assets 里面

cs 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using MySql.Data.MySqlClient;

using UnityEngine.XR.ARFoundation;
using UnityEngine.SceneManagement;


public class UserDataMysql : MonoBehaviour
{
    // 用户输入的用户名和密码,存储到 MySQL 数据库中
    public TMP_InputField UserAccountInput;
    public TMP_InputField UserPasswordInput;


    public TMP_InputField UserLoginAccountInput;
    public TMP_InputField UserLoginPasswordInput;
    public void ResigerButton()
    { 
    // 注册按钮的点击事件,将用户输入的用户名和密码存储到 MySQL 数据库中
        string userAccount = UserAccountInput.text;
        string userPassword = UserPasswordInput.text;
        // 连接 MySQL 数据库,执行 SQL 语句,将用户名和密码存储到数据库中

        // 1.连接数据库
        string connStr = "server=127.0.0.1;port=3306;user=xuni231;password=123456;database=ar";
        MySqlConnection conn = new MySqlConnection(connStr);
        conn.Open();

        // 2.执行 SQL 语句
        string sql = "INSERT INTO user (username, password) VALUES ('" + userAccount + "','" + userPassword + "')";
        MySqlCommand cmd = new MySqlCommand(sql, conn);
        cmd.ExecuteNonQuery();
        Debug.Log("注册成功"+ userAccount+"密码"+ userPassword);

        // 3.关闭数据库连接
        conn.Close();   

    }


    public void LoginButton()
    {
        // 登录按钮的点击事件,从 MySQL 数据库中查询用户输入的用户名和密码是否匹配
        string userAccount = UserLoginAccountInput.text;//用户登录时输入的用户名
        string userPassword = UserLoginPasswordInput.text;//用户登录时输入的密码
                                                          // 连接 MySQL 数据库,执行 SQL 语句,查询用户名和密码是否匹配  

        // 1.连接数据库
        string connStr = "server=127.0.0.1;port=3306;user=xuni231;password=123456;database=ar";
        MySqlConnection conn = new MySqlConnection(connStr);
        conn.Open();

        // 2.执行 SQL 语句
        string sql = "SELECT * FROM user WHERE username='" + userAccount + "' AND password='" + userPassword + "'";
        MySqlCommand cmd = new MySqlCommand(sql, conn);
        MySqlDataReader reader = cmd.ExecuteReader();//把用户输入的账号密码,发给数据库,查询是否匹配

        // 3.读取查询结果,判断是否匹配
        if (reader.Read())
        {
            Debug.Log("登录成功");
            // 登录成功,跳转到AR人体识别界面
            ARButton();
        }
        else
        {
            Debug.Log("登录失败");
        }

        // 4.关闭数据库连接
        conn.Close();
    }

    public void ARButton()
    {
        // 跳转到AR地面识别场景,场景名字:ARMainScence
        //Application.LoadLevel("ARMainScence");//loadlevel是加载场景的函数,参数是场景的名字
       SceneManager.LoadScene("ARMainScence");//SceneManager.LoadScene是加载场景的函数,参数是场景的名字
 }
}
相关推荐
大胃粥10 分钟前
WMS& SF& IMS: 焦点窗口更新框架
android
QING61823 分钟前
Gradle 核心配置属性详解 - 新手指南(二)
android·前端·gradle
QING61829 分钟前
Gradle 核心配置属性详解 - 新手指南(一)
android·前端·gradle
_一条咸鱼_3 小时前
Android Runtime内存管理子系统启动流程原理(13)
android·面试·android jetpack
法迪4 小时前
Android的uid~package~pid的关系
android
二流小码农4 小时前
鸿蒙开发:hvigorw,一个你不得不去了解的神器
android·ios·harmonyos
雨白4 小时前
详解三种常见布局:LinearLayout、RelativeLayout及FrameLayout
android
墨狂之逸才4 小时前
如何选择合适的abiFilters
android·android studio
宾有为7 小时前
【Android】如何抓取 Android 设备的 UDP/TCP 数据包?
android·tcp/ip·udp·wireshark·抓包·tcp抓包·udp抓包
_一条咸鱼_8 小时前
Android Runtime JNI环境构建与注册过程原理(15)
android·面试·android jetpack