我在数据库中插入了许多字段。其中一个字段是电话号码字段。例如,如果以“01234”开始一个数字,它将在字符串的开头切断“0”。
我正在使用mysqli和prepared语句将字符串插入到DB中,并且我有一个不同的插入查询,它不使用预处理语句,它不会在开头切断'0',这使我假设准备好的声明正在修剪'0'。
我还把它插入varchar的字段中查看是否会使它工作,但没有运气。
当我使用准备好的声明时,你知道为什么它在开始时会减少'0'吗?我怎么能绕过这个?
答案 0 :(得分:3)
如果您在任何时候将电话号码指定为实际号码(即int,decimal,float等),它将删除任何前导零。
因此,应接受,转移电话号码并将其存储为字符串。由于您从不对电话号码进行数学运算,因此不会出现任何问题。
我猜你在准备好的陈述或其他步骤中将其指定为数字。
答案 1 :(得分:0)
确保在mysqli_stmt::bind_param中使用正确的$types
。