福感科技有限公司 欢迎您!
联系方式

    地址:北京市平谷区马坊镇金河北街17号院3号楼7层712

    电话:010-89968230

    网站:http://www.fgsense.com

你的位置:首页 > 新闻动态 > 专题报道

Unity和PHP的Http数据交互

2021-8-31 20:10:16      点击:
大家可以经常需要做一些简单的数据统计,可能是使用Socket写的服务端交互,也可能是使用http的交互。为了更契合本篇文章的主题,下面就来看下Unity是如何与PHP的Http数据交互。

PHP注册代码
<?php
include 'Common.php';//引用包含Check方法的php文件,这个是自己写的,一种检测非法手段,可以百度下,也可以不写
$name=Check($_POST["name"]);//PHP获取form内容的方法,$name=$_POST["name"];
$pass=Check($_POST["pass"]);
$con=mysql_connect("127.0.0.1","root","");//连接mysql
if(!$con)
        die("Could not connect:".mysql_error());//如果连接失败则结束
mysql_select_db("CreateData",$con);//选择数据库
mysql_query("set names utf8");//设置utf8,否则中文会乱码噢
$com= mysql_query("select pass from Login where name='$name'");//查询是否有此名称
if(mysql_num_rows($com)!=0)
{
        die("-1");//username already exist;//如果有则结束函数,并打印-1
}
mysql_query("insert into Login(name,pass,lasttime) values('$name','$pass',now())");//插入用户名
$com=mysql_query("select uid from Login where name='$name'");
$com=mysql_fetch_array($com);
$com=$com["uid"];
echo "$com";//打印uid
mysql_close($con);//关闭数据库
?> 
以上便是php代码,每次访问都需要开关一次数据库,可以借助数据库连接池来解决此问题。

Unity访问代码
        public void SendUserCor(string url, string name, string password)
        {
            StartCoroutine(SendUser(url, name, password));
        }
        IEnumerator SendUser(string url,string name,string password)
        {
//这个官方有对应案例
            WWWForm from = new WWWForm();//建立表单
            from.AddField("name", name);//添加数据
            from.AddField("pass", password);
            WWW www = new WWW(url, from);//建立WWW
            yield return www;
            if (www.error != null)
            {
                Debug.Log(www.error);
            }
            else
            {
                Debug.Log(www.text);//获得返回的数据
                //-1 用户名已存在
                //>0 为uid编号
            }
        }

以上便是unity和PHP的数据交互,以及PHP与mysql的交互。

声明:文章内容整理来源于网络,版权属于原作者,如有问题,请联系我们!

来源:https://gameinstitute.qq.com/community/detail/128612

Copyright 2019 www.fgsense.com

福感科技有限公司 版权所有 All Rights Reserved

京ICP备20002031号

010-89968230