【发布时间】:2017-06-27 18:23:08
【问题描述】:
我是 PHP 和 SQL 的新手,我正在尝试学习如何将它们与 Unity 一起使用。
首先,我使用 Unity 在我的数据库中创建了一个新表,它工作正常。现在我想用一些信息更新这个表,这个信息应该来自 Unity。 但它不起作用;我不确定它是我的 C# 脚本还是我的 PHP 脚本。 首先,这是我的 C# 脚本中的一个 sn-p:
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.";
?>
我只想在特定日期的特定表中发送一个数字。
【问题讨论】:
-
Update tbl_{$username}你真的为每个用户准备了一张桌子吗? -
是的,您应该(重新)考虑(考虑)因为如果您打算继续使用它,您将拥有一个庞大的数据库。另外,如果那是您的完整代码,我没有看到您实际执行该查询。
-
差不多,是的。
-
并在
if(!$result)部分添加mysqli_error($conn)以防出现错误。 -
太好了,您知道 Stack 可让您发布自己的答案。如果您提供有关如何修复它的清晰详细的答案,我将很高兴支持它。这也将有助于未来的访问者也了解该问题,以及他们是否也有同样的问题。