C# PHP中的SQL更新

C# PHP中的SQL更新,c#,php,mysql,sql,unity3d,C#,Php,Mysql,Sql,Unity3d,我对PHP和SQL非常陌生,我正在努力学习如何将它们与Unity结合使用 首先,我用Unity在数据库中创建了一个新表,它工作正常。现在我想用一些信息更新这个表,这些信息应该来自Unity。 但它不起作用;我不确定这是我的C#脚本还是我的PHP脚本。 首先,这里是我的C#脚本的一个片段: 现在是我的PHP脚本 <?php $servername = ********** $server_username = *************** $server_password = *****

我对PHP和SQL非常陌生,我正在努力学习如何将它们与Unity结合使用

首先,我用Unity在数据库中创建了一个新表,它工作正常。现在我想用一些信息更新这个表,这些信息应该来自Unity。 但它不起作用;我不确定这是我的C#脚本还是我的PHP脚本。 首先,这里是我的C#脚本的一个片段:

现在是我的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.";
?>


我只想在特定的日期在特定的表格中发送一个数字。

我重新考虑了我的工作。所以并没有为每个用户提供表,只有在包含所有用户/用户信息的表上,并且认为需要保存/加载

C#脚本大致相同:

IEnumerator InsertMemberData(string username,string day,int 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.");
    }   
}

我真的不知道为什么,但这对我来说非常好。

更新tbl{$username}
你真的为每个用户都有一个表吗?是的,你应该(重新)考虑一下,因为如果你打算使用它,你将拥有一个庞大的数据库。另外,我没有看到您实际执行该查询,如果这是您的完整代码的话。基本上,是的。如果有错误,请在
if(!$result)
部分添加
mysqli\u error($conn)
。很好,您知道该堆栈允许您发布自己的答案。如果你能提供一个清晰而详细的答案,说明你是如何修复它的,我很乐意投你一票。这也将有助于未来的问题访问者理解问题,如果他们也有同样的问题。根据您如何向此代码提供数据,您可能会在此处遇到SQL注入漏洞。在将用户提供的数据连接到SQL查询中时要小心。随着时间的推移,我对这段代码做了很多修改,使其更加复杂。。我还考虑切换到RESTAPI。谢谢你在新的解决方案中使用绑定参数了吗?谢天谢地,您的数据库连接器(MySQLi)确实支持它们。目前还没有。建议使用Thx。
IEnumerator InsertMemberData(string username,string day,**string** sale)
    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.");
    }   
}