无法弄清楚为什么下面的内容可以在我的本地测试服务器上很好地保存,但不能在我的托管服务器上保存。美元符号是唯一可以节省我托管的值。全部保存在本地。
对于两者,我都有“ enum('$', '€', '¥', '£')
”作为带有 utf8_unicode_ci 排序规则的类型。
<select name="user_currency" id="user_currency">
<option value="$" <?php echo ($user_currency == '$'?'selected="selected"':'');?>>$ - Dollar</option>
<option value="€" <?php echo ($user_currency == '€'?'selected="selected"':'');?>>€ - Euro</option>
<option value="¥" <?php echo ($user_currency == '¥'?'selected="selected"':'');?>>¥ - Yen</option>
<option value="£" <?php echo ($user_currency == '£'?'selected="selected"':'');?>>£ - Pound</option>
</select>
查询:
$query = "UPDATE users as us SET user_currency = ".$db->prep($_POST['user_currency'])." WHERE us.user_id = '{$user_id}'";
准备函数
function prep($value,$strip_tags = 1){
// Stripslashes
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
// Quote if not integer
if (!is_numeric($value) || $value[0] == '0') {
$value = "'" . mysql_real_escape_string($value) . "'";
}
if($strip_tags){
$value = DB::strip_html_tags($value);
}else{
$value = DB::strip_html_tags($value,0);
}
return $value;
}
有任何想法吗?