繁体   English   中英

为什么form.AddField的Value不接受字符串

[英]Why the Value of form.AddField won't accept string

我想发送一些数据到我的服务器..所以我做了这个C#代码

IEnumerator SaveAllPlayerPrefs(string[] parms)
    {
        WWWForm form = new WWWForm();

        form.AddField("bone" , value);

        WWW webRequest = new WWW(db_url + "SaveAllPlayerPref.php", form);

        yield return webRequest;
    }

而且我有用于接收该代码的php代码

<?php

    $sql_connect = mysql_connect("localhost", "root", "") or die ("no DB Connection");

    mysql_select_db("example") or die ("DB not found");

    $bone = $_POST['bone'];

    mysql_query("INSERT INTO save_game (bone) VALUES ($bone);");

    mysql_close($sql_connect);
?>

问题是当我尝试此代码时,它可以很好地工作,但是当值仍然为int时,它就可以工作。 当我将值更改为字符串类型时,它无法发送到数据库,并且我的崩溃是

稍后我尝试将值更改为char,我尝试发送

'a',但是当我在数据库中这样做时,它不保存'a'而是保存97,即ASCI值。

我不明白这是怎么回事,在服务器的数据库中,我将值设置为varchar(100)。

请帮助我和thx之前:)

WWWForm.AddField的文档指出,只能将int用作第二个参数,这样它才能正确运行,并且char实际上是单个字符和16位数字(常规)值,因此将其强制转换为int。

AddField(fieldName: string, i: int): void;

或者您可以尝试使用编码的第二种方法,以便您可以传递string值。

AddField(fieldName: string, value: string, e: Encoding = System.Text.Encoding.UTF8): void;

我不确定PHP部分,但我认为您可能需要在$bone周围加上引号

"INSERT INTO save_game (bone) VALUES ('$bone');"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM