Search
Write a publication
Pull to refresh

Unity3D и MySQL

Reading time2 min
Views22K
Наверное каждый, кто делал игру для социальной сети или просто онлайн игру сталкивался с проблемой подключения и сохранения данных в базу данных. В этой статье я постараюсь подробно описать как установить подключение и передать данные в базу данных 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); //Выбираем базу данных

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

?>



Данный скрипт принимает данные из движка и заносит их в базу данных MySQL. Обратите внимание, название скрипта PHP (connect.php) должно соответствовать названию скрипта в значении переменной url. Вроде бы на этом всё… Надеюсь эта информация стала полезной для кого-либо.
Это моя первая статья, надеюсь всё подробно описал и Вы решили свою проблему.
Tags:
Hubs:
Total votes 27: ↑7 and ↓20-13
Comments10

Articles