我是PHP和SQL的新手,我正在尝试学习如何在Unity中使用它们。
首先,我使用Unity在我的数据库中创建了一个新表,该表工作正常。现在我想用一些信息更新这个表,这个信息应该来自Unity。 但它不起作用;我不确定它是我的C#脚本还是我的PHP脚本。 首先,这是我的C#脚本的片段:
IEnumerator InsertMemberData(string username,string day,int sale)
{
//insert data to table
WWWForm form = new WWWForm();
form.AddField("usernamePost", username);
form.AddField("currentDayPost", day);
form.AddField("daySalePost", sale);
UnityWebRequest www = UnityWebRequest.Post(updateDataTable, form);
yield return www.Send();
if (www.isError)
{
Debug.Log(www.error);
}
else
{
Debug.Log("Form upload complete!");
}
}
现在我的PHP脚本
<?php
$servername = **********
$server_username = ***************
$server_password = ****************
$dbName = *****************
$username = $_POST["usernamePost"];
$currentDay = $_POST["currentDayPost"];
$daySale = $_Post["daySalePost"];
//Make Connection
$conn = new mysqli($servername, $server_username, $server_password, $dbName);
//Check Connection
if(!$conn)
{
die("Connection Failed". mysqli_connect_error());
}
$sql = "Update tbl_{$username} SET ".$currentDay." = ".$daySale." WHERE id=1";
$result = mysqli_query($conn, $sql);
if(!$result){
mysqli_error($conn);
echo "there was an Error!";
}
else echo "Evereything ok.";
?>
我只想在特定的一天发送一个特定的表格。
答案 0 :(得分:0)
我重新考虑了我的工作。因此,每个用户都没有表,只有在具有所有用户/用户信息的表上,并认为想要保存/加载。
C#脚本或多或少相同:
IEnumerator InsertMemberData(string username,string day,int sale)
到
IEnumerator InsertMemberData(string username,string day,**string** sale)
和我的PHP脚本:
if($conn)
{
$sqlCheck = "SELECT ID FROM userinfo WHERE username = '".$username."' ";
$resultCheck = mysqli_query($conn,$sqlCheck);
if($resultCheck){
if(mysqli_num_rows($resultCheck)>0)
{
$sqlUpdate = "UPDATE userinfo SET {$day} = '".$value."' WHERE username = '".$username."' ";
$resultUpdate = mysqli_query($conn,$sqlUpdate);
if($resultUpdate)
{
echo("Update success");
}else
{
echo("Update Failed");
}
}
}else{
echo("There was an Error.");
}
}
我不确定为什么,但这对我来说非常适合。