아래 글에서 이어지는 내용이다.
PHP와 SQLite3 연동 확인
아래 PHP 코드를 입력하여 이전 글에서 만들었던 DB 파일과 같은 경로에 넣어준다.
나는 dbTest.php 이름으로 만들었다.
<?php
phpinfo()
?>
http://localhost/sqlite3/dbtest.php 로 접속했을 때 아래와 같은 화면이 나온다면 php와 Apache 연동은 확인한 것이다.
이제는 php와 SQLite와의 연동이 잘 되었는지 확인하기 phpinfo에서 아래 내용이 있는지 확인한다.
혹시나 PHP 7.4버전을 사용하고 있으면서 pde_sqlite와 sqplite3가 확인이 안 된다면 아래 링크를 확인할 필요가 있다.
무슨 이유에서인지는 모르겠으나 7.4 이상의 버전에서는 추가적인 라이브러리와 패스 설정까지 해야 한다고 한다.
개인적으로 테스트해봤지만 잘 되지 않아 PHP 7.3으로 다운그레이드 했다. 이에 대해서는 추가적인 테스트를 진행해봐야 할 것 같다.
https://www.php.net/manual/en/sqlite3.installation.php
연동을 확인했으니 이제 위 코드를 지우고 아래 코드를 테스트해보자.
<?php
$dbPath="./my.db";
// 디렉토리에 생성한 db 파일이 있는지 확인한다.
$is_file_exist = file_exists($dbPath);
// 파일 체크
if(!$is_file_exist){
echo '<h1>Can not find db file.</h1>';
}
// DB 연동
try
{
$DB=new SQLite3($dbPath);
}
catch(PDOException $e)
{
echo '<h1>An error has occurred.</h1><pre>', $e->getMessage(),'</pre>';
}
// 테이블 조회
$query = "SELECT * FROM 'PERSON';";
$result = $DB->query($query);
while($row = $result->fetchArray(SQLITE3_ASSOC))
{
echo $row["NAME"], " ";
}
?>
http://localhost/sqlite3/dbtest.php 를 확인해봤을 때 아래와 같이 나온다면 성공이다.
Unity와 SQLite 연동
Unity 다운로드가 안돼있다면 아래 링크를 참고하자
유니티 허브를 열어 새 프로젝트를 만들어보자
프로젝트 이름과 경로를 설정하고 생성을 누른다.
아래 Project창의 Assets에서 우클릭 > Create > C# Script를 눌러 스크립트 파일을 생성한다.
나는 SQLITE_TEST라는 이름으로 스크립트를 만들었다.
스크립트 파일에는 아래와 같이 작성한 후 저장한다.
PHP 파일 경로가 다르다면 phpPath 변수를 수정한다.
코드는 이곳을 참고했다.
https://giseung.tistory.com/30
using UnityEngine;
using UnityEngine.Networking;
using System.Collections;
public class SQLITE_TEST : MonoBehaviour
{
private void Start()
{
StartCoroutine(GetMySQLData());
}
private IEnumerator GetMySQLData()
{
// PHP 파일 경로
string phpPath = "http://localhost/SQLite3/dbTest.php";
WWWForm form = new WWWForm();
using (UnityWebRequest webRequest = UnityWebRequest.Post(phpPath, form)) //웹 서버에 요청
{
yield return webRequest.SendWebRequest(); //요청이 끝날 때까지 대기
Debug.Log(webRequest.downloadHandler.text); //서버로부터 받은 데이터를 string 형태로 출력
}
}
}
Main Camera를 클릭하고 작성한 스크립트를 Inspector 하단에 끌어다 놓는다.
실행했을 때 아래와 같이 DB 내용이 출력된다면 성공!
'Game Engine > Unity (유니티)' 카테고리의 다른 글
[Unity] 포톤 클라우드 VS 포톤 서버 (0) | 2022.07.28 |
---|---|
Unity에서 SQLite 사용하기 (Windows) - 1 (0) | 2021.11.18 |
Unity에서 MySQL 사용하기 (Windows) - 2 (0) | 2021.11.17 |
[Unity Warning] Visual Studio Editor Package version 2.0.12 is available, we strongly encourage you to update from the Unity Package Manager for a better Visual Studio integration 해결 방법 (0) | 2021.11.11 |
Unity 다운로드 (0) | 2021.11.09 |