【发布时间】:2014-03-31 16:07:52
【问题描述】:
我尝试输入数据库的所有电话号码都被插入为2147483647。
数据库字段是integer(11)。
在插入电话号码之前,它会通过以下代码来删除所有空格、破折号和括号:
if (!empty($hphone)) $phone = $hphone;
else if (!empty($HomePhone)) $phone = $HomePhone;
else if (!empty($Phone1)) $phone = $Phone1;
$phone = preg_replace("/[^0-9]/", "", $phone);
为什么每次都插入2147483647的电话号码,不管电话号码是什么?
【问题讨论】:
-
将电话号码存储为字符串 (
varchar),而不是整数。 -
@zerkms 这显然不能解决他的问题
-
@Damien Black:你的假设是基于什么?
-
@scarhand 你能显示设置 $hphone 的代码吗?
-
我认为问题在于它试图将其存储为字符串,尽管它是一个整数。从插入查询中的值中删除单引号会纠正这个问题,还是我需要通过 PHP 将其转换为整数?