0

我正在尝试使用 mysqli bind_param 向我的数据库中插入一个值。

我的代码:

<?php
$stmt = $mysqli->prepare("
INSERT INTO ".$db_table_prefix."u_nm  (uname,umobile) VALUES (?,?)");
$stmt->bind_param("si", $this->name, $this->mobile);
$stmt->execute();
$stmt->close();
?>
  • uname是用户名,所以它应该是一个字符串bind_param("s")
  • umobile是用户的手机号码,所以应该是bind_param("i")

但是,如果我将 umobile 设置为,则不会插入整个数字("i")

例子:

假设我插入名字比利和数字 0739871169

然后在数据库中它会显示为:

Billy
739871169

代替

Billy
0739871169

但是,如果我将 bind_param 更改为("ss")而不是("si")它可以正常工作,

但是不应该将数字标记为("i")还是我弄错了?

4

1 回答 1

0

它接受数字作为整数(即​​没有前导零)。您可以在手机字段中添加“zerofill”选项,或者将其作为字符串接受。

于 2013-07-01T23:08:03.417 回答