以下が私のローカルテストサーバーでは問題なく保存されるのに、ホストされているサーバーでは保存されない理由がわかりません。ドル記号は、私のホスト上で節約できる唯一の値です。すべてローカルに保存します。
両方について、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;
}
何か案は?