准备好的语句在php的数字前面削减了0吗?

时间:2011-05-05 06:13:47

标签: php string mysqli prepared-statement

我在数据库中插入了许多字段。其中一个字段是电话号码字段。例如,如果以“01234”开始一个数字,它将在字符串的开头切断“0”。

我正在使用mysqli和prepared语句将字符串插入到DB中,并且我有一个不同的插入查询,它不使用预处理语句,它不会在开头切断'0',这使我假设准备好的声明正在修剪'0'。

我还把它插入varchar的字段中查看是否会使它工作,但没有运气。

当我使用准备好的声明时,你知道为什么它在开始时会减少'0'吗?我怎么能绕过这个?

2 个答案:

答案 0 :(得分:3)

如果您在任何时候将电话号码指定为实际号码(即int,decimal,float等),它将删除任何前导零。

因此,应接受,转移电话号码并将其存储为字符串。由于您从不对电话号码进行数学运算,因此不会出现任何问题。

我猜你在准备好的陈述或其他步骤中将其指定为数字。

答案 1 :(得分:0)

确保在mysqli_stmt::bind_param中使用正确的$types