Наверное каждый, кто делал игру для социальной сети или просто онлайн игру сталкивался с проблемой подключения и сохранения данных в базу данных. В этой статье я постараюсь подробно описать как установить подключение и передать данные в базу данных MySQL с помощью PHP.
Итак, приступим, для начала создайте в Unity C# скрипт, назовите его MysqlConnect и внесите в него следующий код:
В данном скрипте производится запрос к PHP скрипту и ему передаются данные, введённые пользователем.
Теперь, давайте создадим PHP скрипт и назовём его connect.php:
Данный скрипт принимает данные из движка и заносит их в базу данных MySQL. Обратите внимание, название скрипта PHP (connect.php) должно соответствовать названию скрипта в значении переменной url. Вроде бы на этом всё… Надеюсь эта информация стала полезной для кого-либо.
Это моя первая статья, надеюсь всё подробно описал и Вы решили свою проблему.
Итак, приступим, для начала создайте в 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. Вроде бы на этом всё… Надеюсь эта информация стала полезной для кого-либо.
Это моя первая статья, надеюсь всё подробно описал и Вы решили свою проблему.