看了几天网上的攻略,发现不是讲的不够详细,就是缺三少四,或者时间过早,真的看的非常苦恼,于是,自己就萌生了发个文章的想法,帮助一下现在正在被这个问题疯狂折磨(热爱游戏)的朋友。
要达到这个注册,肯定要先部署一下apache和MySQL吧,我部署了几次总是出现各种问题,所以下的xampp(一个都给你部署好的软件),完成好之后,就需要开始敲代码了,主要有两个问题,php和mysql之间的交互,php和unity之间的交互,
先看下unity端的代码,
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class phpUnity1: MonoBehaviour
{
public InputField userIdField;
public InputField passwordField;
public string userid = "";
public string password = "";
private string url = "http://www.test.com/aaa.php"; //www.test.com换成自己的服务器地址
void OnGUI()
{
if (GUILayout.Button("注册"))
{
userid = userIdField.text;
password = passwordField.text; //获得文本框里的内容
StartCoroutine(OnGet());
}
}
IEnumerator OnGet()
{
//表单
WWWForm form = new WWWForm();
form.AddField("userid", userid);
form.AddField("password", password);
WWW www = new WWW(url, form);
yield return www; //将数据给到php
if (www.error != null)
{
print("php请求错误: 代码为" + www.error);
}
else
{
print("php请求成功" + www.text);
}
}
}
php端的代码 名字改为 aaa.php
<?php $userid=$_POST["userid"]; $password=$_POST["password"]; // 获得的连接 $servername = "localhost"; $username = "root"; //账号 $password1 = "root";//密码 $con = new mysqli($servername, $username, $password1); if ($con->connect_error) { echo "连接失败 "; } else { echo "连接成功<br>"; } // 创建数据库 名字叫 wang $sql = "CREATE DATABASE wang"; if($con->query($sql) == true) { echo "数据库 wang 创建成功!<br>"; } else { echo "创建失败!<br>"; } $con->close(); // 此时需要连接到数据库下,第四个参数是数据库名 $dbname = "wang"; $con = new mysqli($servername, $username, $password1, $dbname); // 创建数据表 wang,一定要指定一个 primary key $sql = "CREATE TABLE wang ( userid int primary key, password int )"; if ($con->query($sql) == true) { echo "数据表 wang 创建成功!<br>"; } else { echo "创建失败!<br>"; } // 因为刚刚已经连接到wang下,我们仍可以复用这个con对象,这里添加数据字段 $sql = "INSERT INTO wang (userid, password) VALUES ($userid, $password)"; if($con->query($sql) == true) { echo "数据插入成功!<br>"; } else { echo "插入失败!"; } $con->close(); ?>
暂时就这些,以后在改进。