0

ページを解析し、取得したデータを mysql db に保存しています。商品の価格以外はOKです。価格を抽出した後、print_r($price) を使用すると実際の値を取得できますが、同じ $price をデータベースに保存すると、その一部しか取得できません。

例: - print_r($something); を使用している間。// 出力は 2 458 です

データベース $something に保存するとき、保存される値は 458 だけです。

問題は 2 と 4 の間のスペースにあると思います。これはほとんどの人にとって非常に単純な質問であることは理解できますが、今のところ解決できません。今後ともよろしくお願いいたします。

4

1 に答える 1

0

MySQL は、フィールドに挿入できるデータについてかなり寛容です。この場合、2 つの数字を含む文字列を数値フィールドに挿入しようとしています。そのデータから 1 つの数字を抽出しようと最善を尽くしていますが、間違っています。

挿入する前にスペースを削除するだけです。

$something = str_replace(' ', '', $something);

または、正規表現を使用して、数字以外の文字を削除できます。

$something = preg_replace("'[^0-9]'", '', $something);
于 2013-01-26T11:08:36.823 に答える