我试图在我的数据库中输入一个电话号码,该列设置为varchar(15),而在phpmyadmin中,它将接受一个前导为0的电话号码(例如07712123123)。
在我的PHP脚本中,我有变量$ contactNo,这是一个包含07712123123的字符串
但是当我使用我准备好的语句将数据输入数据库时,前导零被删除。我怎么能阻止这个?
// Insert data into customer_accounts
if($stmt = $mysqli -> prepare("INSERT INTO customer_accounts (username, password, firstname, lastname, email, number) VALUES (?,?,?,?,?,?)")) {
$stmt -> bind_param("ssssss", $username, $password, $firstname, $lastname, $emailAddress, $contactNo);
$stmt -> execute();
$stmt -> close();
}
我已经在语句之前和之后回显了变量,并且0就在那里,所以它必须在将其放入数据库时被删除。我是新手准备的陈述,我无法弄清楚如何解决它。
谢谢!
答案 0 :(得分:1)
您在问题中提供的准备好的声明没有流量,因此我猜测数据类型存在静默转换。
仔细检查列number
确实属于VARCHAR
类型。
我很确定你有INT
(或类似)类型。