unity3d 如果我想搜索SQL表,从unity到php存储的字符串值会导致问题

vwkv1x7d  于 2022-11-15  发布在  PHP
关注(0)|答案(1)|浏览(103)

我有一个学校应用程序,我想在我的SQL数据库中插入值,我这样做:

[SerializeField] private TextMeshProUGUI username;

private void CheckUsername()
    {
        username.text.Replace("Welcome ", string.Empty);
    }

void Update()
    {
        CheckCheckBox();
    }

IEnumerator SendAnuntBeneficiar()
    {
        result = username.text.Split(' ');
        Debug.LogError(result[1]);
        string url = "http://localhost/pf/Cclientapp/insertAnunturiBen.php";
        WWWForm form = new WWWForm();
        form.AddField("username", result[1]);
        using (UnityWebRequest www = UnityWebRequest.Post(url, form))
        {
            yield return www.SendWebRequest();
            if (www.isNetworkError || www.isHttpError)
            {
                print(www.error);
            }
            else
            {
                print(www.downloadHandler.text);
            }
        }
    }

public void InsertAnuntBeneficiar()
    {
        StartCoroutine(SendAnuntBeneficiar());
    }

我很确定这不是正确的方法,但我没有找到其他方法将字符串值从Unity传递到PHP脚本。在将值存储到表中后,发生了一些奇怪的事情。我找不到任何基于用户名的记录,我不知道为什么。我检查用户名前面是否有空格或其他内容,但只有文本。不带空格。例如,我有3个具有相同用户名的记录:recorsfromtable如果我想从包含我想要的用户名的表中检查任何内容,将不会显示任何内容。

$query = "SELECT * FROM anunturibeneficiari  WHERE username = 'admin' ";
    $result = mysqli_query($conn,$query);

如果我手动编辑用户名并再次为这些记录键入相同的内容,SQL语句将正常工作。因此,我猜当我将用户名存储在表中时会出现问题,但我不知道问题可能是什么。
下面是我的插入php脚本:

session_start();
    $conn = mysqli_connect("localhost","root","","reglog");

    $username = $_POST["username"];
    $tip = $_POST["tip"];
    $descriere = $_POST["descriere"];
    $judet=$_POST["judet"];
    $oras = $_POST["oras"];
    $data= date("Y/m/d");
    $timp = date("h:i");

    $query = "INSERT INTO anunturibeneficiari VALUES('','$username','$tip','$descriere','$judet','$oras','$data','$timp')";
    mysqli_query($conn,$query);
    echo
            "Succes";
ddrv8njm

ddrv8njm1#

问题发生是因为我处理来自Unity的用户名的方式。如果我像@米兰说的那样改变我的条件,代码就会工作。

相关问题