在我的数据库中,我有一个名为settings的表。它有两列,name
和value
。
我正在尝试插入电话号码,例如0612345678
。
它不断删除前导零(结果612345678
)。
我使用$value = strval($value);
来确保PHP将值作为字符串传递(我可以确认,可以使用)。
这是MySQL默认设置还是可以修复此问题?
答案 0 :(得分:0)
如果你想保持前导零,你需要将值存储在一个字符串列中(我猜这是一个整数现在在PHP或MySQL中)。
另一种选择是在选择时添加数字(不推荐)
SELECT LPAD( Column, <lengthOfOriginalNumber>, '0')
答案 1 :(得分:0)
看起来php
或MySQL
正在将电话号码转换为number
,因此会删除前导零。
如果是php
,那么您可以使用strval
函数来获取String值(解释为here)。此外,您可以尝试在将值发送到MySQL
之前打印该值,以便在转换后查看结果。
如果是MySQL
,那么您需要将列类型更改为varchar
,例如:
ALTER TABLE table MODIFY phone_number VARCHAR(20);