本文只是自己学习 摘录网上前人的学习资料,并非自己写的!!!!!!
最近有项目需要用到数据库,网上有不少资料,但是整理后发现,那些资料对于完全没有PHP+MySQL经验的人来说还是很难理解,所以分享一下自己的学习经验,同时也希望那些有经验的大神们能指点一下:
需要用到的软件:
PC_webserver
(此服务器套件包自带php环境和Phpcms V9最新版,适合不懂php环境配置的新手用来在本机调试Phpcms,安装过程极其简单,下了不会安装的,回家面壁思过吧)
下载链接:

phpcms.cn/html/2011/phpcms_0111/54.html (因为权限不够,不给发带链接的,自己在前面加上www.吧)
(温馨小提示,安装完毕之后,把wwwroot文件夹里面的东西全部清除)

phpDesigner 8
(这是一个编译器,我是用来编译PHP代码的,我觉得这个还是比较方便的,你们也可以选择其他的编译器的,这个不是很重要的,链接就自己问度娘吧)

上面的东西都下载完毕并安装成功之后,那么就开始了进入连接数据库的步骤了

第一步:
我们打开浏览器,输入地址:
localhost/phpmyadmin

我们会看到这样一个界面,账号和密码都是:admin,输入账号和密码之后,我们点击“执行”按钮


这时,就会进入这样的一个界面:

这个界面就是用来操作mysql数据库的

第二步:
创建一个新的数据库:

点击这个按钮,进入创建数据库的界面

在红框的位置填上我们需要的数据库名,填完之后,点击“创建”按钮

这时我们看向左边,就多了一个名为xingchen的数据库

第三步:
创建一个新的表单

点击我们刚刚创建的数据库,会出现这样的一个界面

名字就是你要创建的表单的名字,假设我现在的表单是要用来处理游戏的最高得分的,那么表单名字就设置为scores,字段数的话,你可以理解为下面这样的一种形式,

有细心的童鞋会发现,我在上面的表单里面,填的字段数量是2,为什么是2呢?首先在保存用户得分的时候,分数是必须要的了,这个就占用了一个字段,上传的这个分数,我们又怎么判断是那个玩家的得分呢,最好的方法就是根据用户登陆时的名字,这个又占了一个字段,所以现在是两个字段了,这时我们点击“执行”按钮

弹出了下面的界面

第一个字段,我们保存的是用户名,所以名字就定义为name,类型就是Text,第二个字段,我们保存的是用户的得分,所以名字就定义为scores,类型为int,在类型里面是有很多可以选择的项的,大家可以根据自己的需求来定义
有一点我在这里说明一下,那些个类型我也不是很清楚,那个长度到底是进制位还是字节数,希望熟悉这个的大神能指点一二。

全部输入完成之后,就点击“保存”按钮,把滚动条往下面拖就看见了,点击之后,我们看向左边的地方会多出一个名为scores的表单,如下图:

现在我们进入这个表单,会出现下图:

大家看上面,有一个红色的局域,说是“没有已定义的索引”,这是因为表单还没有设定索引值的原因


我们点击这个“执行”按钮


选定索引的字段和大小之后,点击“保存”按钮


这时我们回到这个表单,发现红色的局域已经没有了,说明指定索引成功了

第四步:
插入简单的数据

现在我们找到我们刚刚创建的表单,点击“插入”按钮,如下图:

点击插入之后会出现这样一个界面

我在上面往表单插入的数据是:字段name的值为:xingchen,字段scores的值为:10000,现在我们点击“执行”按钮,点击之后就会出现下面的界面,如图:

在这个界面里面,我们再点击“浏览”按钮,进入表单查看我们插入的数据,进入表单之后我们看到这样的一个界面,大家在这个界面看到,我们刚刚插入的数据的值

第五步:
编写PHP逻辑代码
首先让我们打开之前下载的php编译器(phpDesigner 8),新建一个文件

选择我们要编译的语言,现在我选择的是php,如下图:

上传得分的PHP代码:
<?php

// 首先是连接数据库
// $ 是php定义一个变量的
// mysql_connect 一看这个函数的英文翻译,我们就知道这个是用来干嘛的了,没错,你没理解错,这就是用来连接mysql数据库的
// mysql_connect 有三个参数要填,第一个是服务器名,第二个是用户名,第三个就是密码
// or die 在这里我是用来返回异常信息的,如果连接不上数据库的话,就返回异常
$db =mysql_connect("localhost","admin","admin") ordie('Unable to connect :' .mysql_error()) ;

// mysql_select_db 是用来连接表单的,现在我连接的表单名为:xingchen,如果连接不上,照样异常返回
mysql_select_db('xingchen') or die('Unableto connect to the server');

// $_POST 这个函数是用来获取从 U3D 上传上来的数据的
// $_POST['name'] 的意思就是获取一个名字为”name“的值
$name = mysql_real_escape_string($_POST['name'],$db);
$scores =mysql_real_escape_string($_POST['scores'],$db);

// 往表单里面插入数据,scores 是表单的名字,至于跟着的两个参数是啥,就自己参透吧
// values 把获取到的值赋值给 scores
$sql = "replace intoscores(name,scores) values('$name','$scores') ";

// 查询一下数据是不是被上传成功了,没有的话,就返回异常
$result = mysql_query($sql) or die('Queryfailed; '.mysql_error());

?>

这一段代码保存一份(不会保存的,自己去问度娘吧),然后放到pc_webserver_v9的根目录下面的wwwroot文件夹里面,如下图:

刚刚这些PHP代码我已经保存为Test,并放到了根目录下面,到了这一步,PHP就算结束了

下面是U3D的代码了using UnityEngine;using System.Collections;publicclassTest : MonoBehaviour{    publicstring s***rl = "http://localhost/Test.php";    // 用户的名字    stringplayName = "";    // 用户的得分    stringplayScores = "";    voidOnGUI()    {        // 要插入的数据        playName = GUI.TextField(newRect(0, 0,100, 40), playName, 25);        playScores = GUI.TextField(newRect(120, 0,100, 40), playScores, 25);        if (GUI.Button(newRect(40, 100, 100, 40), "Sumbit"))        {            intscoresValue = 0;            // 把string 类型的playScores 转换为 int 的 scoresValue            if(int.TryParse(playScores, outscoresValue))            {               StartCoroutine(UploadData(playName, scoresValue));            }        }    }    IEnumeratorUploadData(string strName, int scoresValue)    {        WWWFormform = newWWWForm();        form.AddField("name",strName);        form.AddField("scores",scoresValue);        WWWhspost = newWWW(s***rl,form);        yieldreturn hspost;        print("UploadData== " + hspost.text);    }}
运行U3D

点击Sumbit

这时,我们回到浏览器,刷新一下

你会看到,刚刚的数据已经插入成功了

到了这里,连接数据库基本就完成了,本人刚研究数据库也没几天,刚刚入门,希望各位路过的高手能指出小弟这里的不足之处,或者有什么需要增加的地方,还希望能多多指教。

unity3D +php +数据库的更多相关文章

  1. unity3d sqlite数据库的读写方法

    首先,我们要从unity的安装路径中复制mono.data.sqlite.dll和sqlite3.dll两个动态链接库到untiy的plugins目录下,如下图所示: 使用navicat for sq ...

  2. Unity中Text中首行缩进两个字符和换行的代码

    1.首行缩进两个字符 txt.text=“\u3000\u3000” + str: 2.首行缩进两个字符 将输入法换成全角的,在Text属性面板中添加空格即可. 3.换行    “\n” 补充 Uni ...

  3. JSP应用开发 -------- 电纸书(未完待续)

    http://www.educity.cn/jiaocheng/j9415.html JSP程序员常用的技术   第1章 JSP及其相关技术导航 [本章专家知识导学] JSP是一种编程语言,也是一种动 ...

  4. unity3d 免费好用的数据库处理框架 数据库直连框架

    一.概述 前不久有一个哥们做PC游戏开发的.使用到Unity3d, 正好找到我. 我给他提供了Unity3d如何Moon.Orm来智能化编程的方式. 我们先看看怎么更加便捷sqlite. http:/ ...

  5. Unity3d连接SQL Server数据库出现SocketException: 使用了与请求的协议不兼容的地址错误

    这两天,同学问我Unity3d连接SQL Server的问题,当时我只是简单的说:“应该一样吧,就是那简单的几句啊”.之后他让我试了下,我才发现有问题了.故此写下一篇博客,要牢记这件事的教训,操作数据 ...

  6. Unity3D连接sqlite数据库操作C#版

    unity3d有自己对应的sqlite.dll分别需要三个文件 1.Mono.Data.Sqlite.dll 在unity安装文件“Unity\Editor\Data\MonoBleedingEdge ...

  7. [转载]Unity3D 游戏引擎之使用C#语言建立本地数据库(SQLITE)

    以前在开发中一直使用IOS源生的数据库,通过传递消息的形式在与Unity3D中进行交互.本文我在详细说说如何使用C#语言来在MAC 操作系统下创建Unity本地数据库,我是C#控哇咔咔--- 首先你需 ...

  8. Unity3D连接本地或局域网MySQL数据库

    准备工作: 1.打开 Unity3D 安装目录,到这个路径下 Editor > Data > Mono > lib > mono > 2.0 拷贝出下图的五个动态链接库, ...

  9. (转载)Unity3D连接本地或局域网MySQL数据库

    准备工作: 1.打开 Unity3D 安装目录,到这个路径下 Editor > Data > Mono > lib > mono > 2.0 拷贝出下图的五个动态链接库, ...

随机推荐

  1. Android Volley分析(一)——结构

    Volley是Android系统下的一个网络通信库.为Android提供简单高速的网络操作(Volley:Esay, Fast Networking for Android),以下是它的结构: 既然是 ...

  2. soap webservice

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://cnn237111.blog.51cto.com/2359144/1357029 ...

  3. GoogleFusionTablesAPI初探地图与云计算

    http://developer.51cto.com/art/200906/129324.htm http://yexiaochai.iteye.com/blog/1893735 http://yex ...

  4. 服务管理-DHCP、NTP、SSH

    DHCP协议的作用及原理 1.寻找server 当DHCP客户端第一次登陆网络的时候,也就是客户发现本机上没有任何ip资料设定,他会向网路发送一个dhcpdiscover封包.因为客户端还不知道自己属 ...

  5. 文件另存为——Autocad.doc.SaveAs

    一.前言 使用pyautocad编辑好cad图纸后,往往涉及到一个保存的问题,但是官方文档并未提及,所以只能自己来了,测试了好久,终于是找到了保存的命令和参数说明. 二.方法介绍 Autocad.do ...

  6. kubernetes集群管理之通过jq来截取属性

    系列目录 首先要声明,这里的jq并不是批前端框架里的jquery,而是一个处理json的命令行工具. jq工具相比yq,它更加成熟,功能也更加强大,主要表现在以下几个方面 支持递归查找(我点对我们平时 ...

  7. transient、volatile关键字

    transient是在对象序列化的时候,不参与序列化的字段. 如LinkedList实现了Serializable,其中有变量transient int size = 0; 在Serializable ...

  8. Struts2拦截器 解决登录问题

    一.了解Struts2 拦截器[Interceptor] 拦截器的工作原理如图  拦截器是由每一个action请求(request)都包装在一系列的拦截器的内部,通过redirectAction再一次 ...

  9. 图像处理中的数学原理具体解释21——PCA实例与图像编码

    欢迎关注我的博客专栏"图像处理中的数学原理具体解释" 全文文件夹请见 图像处理中的数学原理具体解释(总纲) http://blog.csdn.net/baimafujinji/ar ...

  10. elk 日志分析系统Logstash+ElasticSearch+Kibana4

    elk 日志分析系统 Logstash+ElasticSearch+Kibana4 logstash 管理日志和事件的工具 ElasticSearch 搜索 Kibana4 功能强大的数据显示clie ...