我在将某些表单值提交到数据库之前使用substr(trim('SOME_FORM_VALUE'),0,7),
。
已提交为空白的表单字段在数据库中最终为 0 (ZERO)。 如果我删除 substr(),一切都很好,数据库中没有值。数据库(InnoDB)列设置为 VARCHAR 和非空。
代码示例:
$data_Arr = array(
'SOME_TABLE_COLUMN1' => substr(trim('SOME_FORM_VALUE1'),0,7),
'SOME_TABLE_COLUMN2' => substr(trim('SOME_FORM_VALUE2'),0,50)
);
$this->db->update('SOME_TABLE', $data_Arr);
上次MySQL查询最终看起来像这样:
INSERT INTO `SOME_TABLE` (`SOME_TABLE_COLUMN1`, `SOME_TABLE_COLUMN2`)
VALUES (0, 0);
全部谢谢:)
答案 0 :(得分:3)
答案 1 :(得分:2)
我认为您可以尝试使用if在substr
之前进行测试 if (strlen($string) > 7){
$file_name= substr(trim($string,0,$max));
}
答案 2 :(得分:0)
使用'mb_strimwidth' - 在空字符串的情况下不会解析为零。
<?php
echo mb_strimwidth("Hello World", 0, 10);
// outputs Hello W
?>