unity 使用mysql实现登录注册_Jtro的技术分享:Unity中使用Sql数据库实现用户登录与注册...

本文介绍了如何在Unity中利用MySQL数据库实现用户登录和注册功能。通过创建UI组件、插入数据和查询数据库,展示了如何检查用户名是否存在以及验证密码。详细步骤包括设置数据库表、编写C#脚本以及处理登录和注册的逻辑。
摘要由CSDN通过智能技术生成

2017.10.21

用户登录功能使用十分普遍,现在要做的就是让用户输入用户名和密码,连接数据库,然后实现登录,这个版本只是一个使用本地数据库,现在我也只能做到登录的功能。注册的功能后续会了再加。-_-||

2017.10.22

没想到这么快就把注册功能赶出来了,哈哈。。。。

直接把注册的代码放这里吧:

//用户注册确定按钮

public void ConfirmBtn()

{

Debug.Log (ReginsterIDText .text);

string s = "select ID from Works where ID = '" + ReginsterIDText .text + "'";

if (ContainName (ReginsterIDText .text)) {

ResginsterState.text = "用户已经存在";

} else {

ResginsterState.text = "可以注册";

Debug.Log ("没有这个人可以注册");

string[] Colvalues = {ReginsterIDText .text ,ReginsterPasswordText .text };

InsertValues ("Works",Colvalues);

}

Debug.Log ("用户注册确认按钮");

}

注册的方法:说白了就是插入数据

protected void InsertValues (string tableName,string [] ColValues)

{

string queryString = "INSERT INTO " + tableName + " VALUES ('" + ColValues[0];

for (int i = 1; i < ColValues.Length; i++) {

queryString += "','" + ColValues [i];

}

queryString += "')";

try {

command.CommandText = queryString;

command.ExecuteNonQuery ();

} catch (System.Exception ex) {

Debug.Log (ex);

}

}

好了,直接上工程吧,首先新建工程,名字什么的无所谓了。新建一个画布,在画布里面新建image、2个输入文本框,一个text 一个按钮。做完了之后如图所示:

新建成这样的.PNG

然后新建2个文件夹:Plugins和StreamingAssets.

Plugins文件夹里面导入Mono.Data.Sqlite文件,sqlite3文件,如果你的unity版本是5.5.0+的版本,还需要添加System.Data文件。

sqlite3文件:

http://pan.baidu.com/s/1bpvsI4J

其他的两个文件都可以在Unity的安装文件夹中搜索到。

然后StreamingAssets文件夹中放的就是数据库文件了。首先数据库怎么建立呢?同样,分享一个建立数据库的软件:http://pan.baidu.com/s/1mhAtsTU

安装后打开这个软件,新建一个sql数据表。

里面包含用户名和密码。

设置好如图所示:

数据库表.PNG

保存你建立的数据库,回到unity中。

新建一个脚本,名为“denglu”这里把源码贴出,方便大家粘贴测试:

using UnityEngine;

using System.Collections;

using Mono.Data.Sqlite;

using UnityEngine.UI;

public class denglu : MonoBehaviour {

//数据库连接对象,通过该对象与数据库文件所在的路径

//进行连接,进而打开数据库文件

SqliteConnection con;

//数据库文件所在的路径

string path;

//数据库命令

SqliteCommand command;

SqliteDataReader reader;

//以下是登录练习的成员数据

public InputField input_name;

public InputField input_pwd;

public Text show;

new string name;

string pwd;

object obj;

void Start()

{

//要连接的数据库文件路径

/* path = "Data Source = " + Application.streamingAssetsPath

+ "/shunity.sqlite";*/

path = "Data Source = " + Application.streamingAssetsPath

+ "/User.sqlite";

//通过路径创建出连接对象

con = new SqliteConnection(path);

//打开数据库文件

con.Open();

command = con.CreateCommand();

//Test();

}

void Test()

{

#region 第一种执行方法,用在增/删/改

//数据库语句

// command.CommandText = "insert into hero values('张三',10,20,1)";

//该方法用在增/删/改语句

// int count = command.ExecuteNonQuery();

#endregion

#region 第二种执行方法,该方法用在查询结果只有一个的情况

// command.CommandText = "select *from hero";

// object obj = command.ExecuteScalar();

// Debug.Log(obj);

#endregion

#region 第三种方法

command.CommandText = "select *from hero";

reader = command.ExecuteReader();

//如果读取了下一行,返回值为true,否则为false

while (reader.Read())

{

//把每一行的每一列读取出来

for (int i = 0; i < reader.FieldCount; i++)

{

Debug.Log(reader.GetName(i));

//print(reader.GetValue(i).ToString() + " ");

}

print("\n");

}

#endregion

}

public void OnLoginClick()

{

if (ContainName() == false)

{

show.text = "你输入的名字不正确";

}

else if (CorrectPwd() == false)

{

show.text = "你输入的密码不正确";

}

else

{

show.text = "登录成功";

}

}

bool ContainName()

{

name = input_name.text;

command.CommandText = "select pwd from usertable where uname = '" + name + "'";

obj = command.ExecuteScalar();

if (obj != null)

{

return true;

}

else

{

return false;

}

}

bool CorrectPwd()

{

pwd = input_pwd.text;

if (ContainName())

{

if (pwd == obj.ToString())

{

return true;

}

}

return false;

}

}

保存后退出,新建一个空物体,把这个脚本挂上去,为里面的Ui赋值。

然后运行工程:

登录成功界面

登录失败的界面

好了,登录的就介绍到这里,过几天或者几个月再把注册写进来。

OK,感谢简书,感谢读完的你。

作者:Jtro

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Unity连接MySQL数据库,你需要使用C#编写一个脚本,并使用MySQL Connector/NET驱动程序。以下是一些基本步骤: 1. 下载并安装MySQL Connector/NET驱动程序。 2. 在Unity创建一个新的C#脚本,例如“DatabaseManager.cs”。 3. 在脚本使用以下命名空间: using MySql.Data.MySqlClient; 4. 在脚本创建一个MySqlConnection对象,并设置连接字符串: string connectionString = "Server=yourServerAddress;Database=yourDatabaseName;Uid=yourUsername;Pwd=yourPassword;"; MySqlConnection conn = new MySqlConnection(connectionString); 5. 在脚本编写函数来执行SQL查询。例如,以下是一个用于执行SELECT查询的函数: public void SelectQuery(string query) { conn.Open(); MySqlCommand cmd = new MySqlCommand(query, conn); MySqlDataReader dataReader = cmd.ExecuteReader(); while (dataReader.Read()) { // process data } dataReader.Close(); cmd.Dispose(); conn.Close(); } 6. 在脚本编写函数来执行SQL插入操作。例如,以下是一个用于执行INSERT操作的函数: public void InsertQuery(string query) { conn.Open(); MySqlCommand cmd = new MySqlCommand(query, conn); cmd.ExecuteNonQuery(); cmd.Dispose(); conn.Close(); } 7. 在你的游戏,当用户尝试登录或注册时,调用相关的SQL查询或插入函数。 注意:在实际开发,为了安全起见,你应该使用参数化查询,而不是将用户输入直接嵌入SQL查询。这可以防止SQL注入攻击。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值