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是加载场景的函数,参数是场景的名字
 }
}
相关推荐
robotx3 小时前
安卓线程相关
android
消失的旧时光-19433 小时前
Android 面试高频:JSON 文件、大数据存储与断电安全(从原理到工程实践)
android·面试·json
dalancon4 小时前
VSYNC 信号流程分析 (Android 14)
android
dalancon4 小时前
VSYNC 信号完整流程2
android
dalancon4 小时前
SurfaceFlinger 上帧后 releaseBuffer 完整流程分析
android
用户69371750013845 小时前
不卷AI速度,我卷自己的从容——北京程序员手记
android·前端·人工智能
程序员Android6 小时前
Android 刷新一帧流程trace拆解
android
墨狂之逸才6 小时前
解决 Android/Gradle 编译报错:Comparison method violates its general contract!
android
阿明的小蝴蝶7 小时前
记一次Gradle环境的编译问题与解决
android·前端·gradle
汪海游龙7 小时前
开源项目 Trending AI 招募 Google Play 内测人员(12 名)
android·github