当我通过 PHP 准备语句将 NULL 插入 MYSQL INTEGER 字段时,它插入为 0。
我搜索了类似的问题并更新了我的代码,但仍然遇到问题。
在我的代码中,如果一个文本框向 PHP 发送一个空字符串;PHP 将其转换为 NULL 即。
$v3 = (strlen($v3)<1 ) ? NULL : $v3;
例如,UNIT 列中的结果可能为 NULL。
准备语句
$stmt = $mysqli->prepare("INSERT INTO address ( `PERSON`, `TYPE`, `UNIT`, `STREET_NUM`, `STREET`, `STREET_TYPE`, `SUBURB`, `STATE` ) VALUES (?,?,?,?,?,?,?,?)"));
将参数绑定为整数
$stmt->bind_param('isiissss',$p, $add_type[$a], $unit[$a], $street_num[$a], $street_name[$a], $street_type[$a], $suburb[$a], $state[$a]);
在 MYSQL 中,address.unit 是 NULLABLE 并且没有默认值。
如果我直接插入表格并省略单位列的值;存储 NULL。这是我所预料的。
如果将列的数据类型指定为“i”(整数),我怀疑 bind_param 函数会将 NULL 更改为 0,因为传递给 VARCHAR 列的 NULL 存储为 NULL。我是否正确,如果是,我应该如何将 NULL 传递给整数列?