2

を持つモバイルアプリに取り組んでいmysql backendます。Mysql は既にデータベースとして設計されており、現在 PC サイトでも実行されています。そのため、モバイルで別のフロントエンドを開発していますが、同じデータベースを使用し、独自の php コードを書いて同じデータベースを更新しています。私の問題は、データベースに型がfloat(desc を使用したときに (5,4) のような追加情報を持たない float のみとして型を与える) 列 (price) があることです。

問題は->ユーザーが入力した場合のように、データをそのまま挿入すると1234、1234としてデータベースに挿入され、同じ方法で保存されます。しかし、PCサイトで同じ情報を表示すると、0.01と表示され1234ます。というわけで、PCサイトから転載されているデータを検索してみました。ユーザーが 1234 を挿入すると、データベースの列に挿入されます1234000000。ウェブサイトの価格情報では、1234 のような正しい価格が表示されます。

では、モバイル PHP コードに挿入する前に、自分の番号の最後に 6 つの 0 を追加する必要がありますか、それとも何らかのフォーマット手法がありますか? どんな助けでも大歓迎です。前もって感謝します。

編集:コードスニペット

$price = mysql_real_escape_string($_POST[$enteredprice]);

mysql_query("INSERT INTO item(s_secret, i_price) 
        VALUES('$secretcode','$price')",$db);

$price には、ユーザーが入力した価格の値が含まれます。上記の説明のとおり、ユーザーが 1234 を入力すると、$price には 1234 が含まれます。

4

1 に答える 1

1

固定小数点を使用するように提案されているようにテーブルを変更できず、説明した形式にバインドされている場合は、以下のようにすることができます。ただし、実際の 10 進数値が使用されていないのにフィールドが float であることは奇妙に思えます。

"INSERT INTO item(s_secret, i_price) VALUES('$secretcode','".($price*1000000)."')"

これは、フォームで小数を使用して値を指定できることを前提としています。

于 2013-01-10T09:21:51.103 に答える