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