[英]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.