print_r($ something)和在数据库中写入相同的$ something之间的结果不同

时间:2013-01-26 10:54:07

标签: php mysql parsing

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

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

在保存数据库$ something时,保存的值仅为458。

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

1 个答案:

答案 0 :(得分:0)

MySQL非常容易接受可以在其字段中插入的数据。在这种情况下,您尝试将包含两个数字的字符串插入到数字字段中,它正在尽力从该数据中提取单个数字,但却出错了。

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

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

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

$something = preg_replace("'[^0-9]'", '', $something);