$sql = "update ".$fdyu->table('users')." set yujia=yujia+".$yujia." where user_id=".$user_id;
$db->query($sql) ;
元の yujia フィールドの値が 100.0 で、$yujia=1.5 を送信すると、結果は yujia フィールドの値が 101.0 になります。 0.5少ないのはなぜですか?
create temporary table t (n decimal(10,1));insert into t values (100.0);update t set n=n+1.5;select * from t
理由がわかりました。変数が整数であることがわかりました
$yujia = isset($_REQUEST['yujia']) ? (trim($_REQUEST['yujia'])) : 0;
intval?プラスチック??小さいものを削除します。 。
代わりに floatval を使用してください