...

понедельник, 22 июля 2013 г.

[Из песочницы] Unity3D и MySQL

Наверное каждый, кто делал игру для социальной сети или просто онлайн игру сталкивался с проблемой подключения и сохранения данных в базу данных. В этой статье я постараюсь подробно описать как установить подключение и передать данные в базу данных MySQL с помощью PHP.

Итак, приступим, для начала создайте в Unity C# скрипт, назовите его MysqlConnect и внесите в него следующий код:



using UnityEngine;
using System.Collections;

public class MysqlConnect : MonoBehaviour {

private string username = ""; //Переменная для хранения имени
private string pswd = ""; //Переменная для хранения пароля
private string email = ""; //Переменная для хранения почтового ящика
private string url = "http://www.localhost.ru/habr/connect.php"; //Переменная для хранения адреса

//Создание метода, отвечающего за подключение и передачу данных
void Connect()
{
WWWForm form = new WWWForm(); //Создаём новую форму
//Добавляем в форму новые данные
form.AddField("username", username);
form.AddField("password", pswd);
form.AddField("email", email);
//Создаём новое подключение
WWW connect = new WWW(url, form);
//Если удалось установить подключение
if (connect.isDone)
{
//Выводим в консоль ответ сервера
Debug.Log(connect.text);
}
//Если при подключении возникла ошибка
else if (connect.error == null)
{
//Выводим в консоль текст Error
Debug.Log("Error");
}
}

//Создаём метод OnGUI()
void OnGUI()
{
//Создаём текстовое поле для ввода имени пользователя
username = GUI.TextField(new Rect(Screen.width/2-100, Screen.height/2-100, 200, 20), username, 12);
//Создаём текстовое поле для ввода пароля
pswd = GUI.TextField(new Rect(Screen.width/2-100, Screen.height/2-75, 200, 20), pswd, 12);
//Создаём текстовое поле для ввода почтового ящика
email = GUI.TextField(new Rect(Screen.width/2-100, Screen.height/2-50, 200, 20), email, 50);
//Создаём кнопку для произведения подключения
if (GUI.Button(new Rect(Screen.width/2-100, Screen.height/2-25, 200, 20), "Connect"))
{
Connect();
}
}
}


В данном скрипте производится запрос к PHP скрипту и ему передаются данные, введённые пользователем.



Теперь, давайте создадим PHP скрипт и назовём его connect.php:



<?php
//Получаем данные
$username = $_REQUEST['username'];
$password = $_REQUEST['password'];
$email = $_REQUEST['email'];

$host = 'localhost'; //Переменная для хранения адреса хоста
$user = 'root'; //Переменная для хранения имени пользователя
$password = ''; //Переменная для хранения пароля
$db = 'habr'; //Переменная для хранения имени базы данных
$table = 'users'; //Переменная для хранения названия таблицы

mysql_connect($host, $user, $password) or die(mysql_error()); //Подключаемся к mysql
mysql_select_db($db); //Выбираем базу данных

//Формируем запрос на добавление данных в бд
mysql_query("INSERT INTO `users` VALUES ('{$username}', '{$password}', '{$email}')") or die (mysql_error());
//Выводим текст Done
echo "Done";

?>



Данный скрипт принимает данные из движка и заносит их в базу данных MySQL. Обратите внимание, название скрипта PHP (connect.php) должно соответствовать названию скрипта в значении переменной url. Вроде бы на этом всё… Надеюсь эта информация стала полезной для кого-либо.

Это моя первая статья, надеюсь всё подробно описал и Вы решили свою проблему.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends: 'You Say What You Like, Because They Like What You Say' - http://www.medialens.org/index.php/alerts/alert-archive/alerts-2013/731-you-say-what-you-like-because-they-like-what-you-say.html


Комментариев нет:

Отправить комментарий