2016-10-18 7 views
0

mysql dbにPHPで整数1.5を挿入しようとしましたが、1.0、2.0として挿入する数字は正しく挿入する方法(1.5)?mysqlの整数で8.5として保存する

$number = 1.5; 

数MySQLデータタイプ:UPDATED number numeric(3,2);

$stmt = $this->db->prepare('UPDATE scores SET number = ? WHERE id = 1'); 
$stmt->bind_param('i', $number); 

: 問題は$stmt->bind_param('i', $number);それが整数(I)としてMySQLのレコードを更新した(1)。正しい使用$stmt->bind_param('d', $number); $ stmtでエントリを(d)double(1.5)として更新する前に。

+0

あなたの 'scores'テーブルの' Datatype'フィールドは何ですか? –

+0

'number'データ型' FLOAT'と長さ '15,2'を使用してください。私はあなたの問題を解決したい。 –

答えて

0

最初の1と2はの整数です。1.5はfloatまたはdoubleで、の値です。つまり、このフィールドの値の型がこの型と一致している必要があります。タイプを変更してみてください。

プライマリキーのIDがdouble/floatの場合は、自動インクリメントすることはできませんので、データベーステーブルのすべてのレコードが正しいことを確認する必要があります。

浮動小数点/倍精度浮動小数点型をIDにプッシュしたいのはなぜですか?より良い方法は、ユニークな識別子名IDを持つことです。それはのmysqlの中で何かをプライマリと判断するため、IDの1つではありません。

0

numberデータ型FLOATと長さ15,2を使用してください。私はあなたの問題を解決したい。

関連する問題