我有一個在ActionScript 3中創建的遊戲,它使用MySql數據庫/ PHP來存儲和重新加載玩家登錄之間的遊戲狀態。我有字符串(varchars),整數,大整數等被保存。在我的本地WAMP服務器上,這看起來很完美。但是,在上傳時,我的主機數據庫不會存儲字符串。它將存儲用於登錄/註冊(用戶名,電子郵件等)的字符串,但不包含爲某些遊戲數據創建的字符串(遊戲角色的顏色,性別,髮型,鞋子等都存儲爲一個長字符串)。 我有一個php文件處理登錄和註冊,第二個處理所有遊戲存儲/加載,再加上一些AS3接口類與這個php文件交談。但同樣的AS3類/ PHP文件將成功存儲整數等,同時未能存儲字符串數據。 我檢查了列名,並且本地數據庫和主機數據庫是相同的,並且在有某種排序規則問題的情況下,將所有字符串字段的排序規則設置爲utf8_bin。我對數據庫的新...遠程數據庫不會存儲一些字符串vs成功的本地數據庫(MySql - phpMyAdmin)
在PHP我用的是這樣的:
$id=$_POST['userId'];
$value1=$_POST['array1'];
$value2=$_POST['array2'];
$what=$_POST['action'];
if ($what === 'storeStuff'){
mysqli_query($db,"UPDATE mytableName SET field1=$value1, field2=$value2 WHERE userid='$id'") or exit("systemResult=fail");
exit("systemResult=success");
}
這裏的字符串信息在我的本地數據庫表中成功地被保存類型的例子,但是這給我在我的託管數據庫上的'systemResult = fail':
0,1,0|0,0,3|0,1,0|0,1,1
任何想法是怎麼回事? 謝謝。
通常,對於字符串,它們需要用單引號引起來,整數不需要。我注意到你有這些逆轉;你能證實這些信息嗎? – nomistic
在從代碼執行之前回應查詢,並嘗試在兩個DB上手動執行它。 –