1

我试图在我的数据库中输入一个电话号码,该列设置为 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 在那里,因此必须在将其放入数据库时​​将其删除。我是准备好的陈述的新手,我不知道该怎么做才能解决它。

谢谢!

4

1 回答 1

1

您在问题中提供的准备好的语句没有流程,所以我猜测存在数据类型的静默转换。

仔细检查该列number确实是 type VARCHAR。我很确定你在INT那里有一个(或类似的)类型。

于 2013-03-25T21:36:07.627 回答