0

我正在解析一个页面并将检索到的数据保存在 mysql db 中。一切都很好,除了产品的价格。提取价格后,当我使用 print_r($price) 时,我得到了实际值,但是在我的数据库中保存相同的 $price 时,我只得到了一部分。

例如:- 在使用 print_r($something) 时;//输出为 2 458

在数据库 $something 中保存时,保存的值只有 458。

我认为问题是由于 2 和 4 之间的空间。我可以理解这对你们大多数人来说是一个非常简单的问题,但现在我无法解决它。非常感谢您的支持!

4

1 回答 1

0

MySQL 对于可以将哪些数据插入到其字段中是相当宽容的。在这种情况下,您尝试将包含两个数字的字符串插入到数字字段中,它会尽最大努力从该数据中提取单个数字,但会出错。

您需要做的就是在插入之前删除空格:

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

或使用正则表达式,您可以删除任何非数字字符:

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