thinkphp数据库插入时空值被变成0怎么办? thinkphp数据库 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 会吗?看看你的表定义和实际执行的 sql 指令 实际执行的就变成了0,数据库默认值设置的为NULL 数据库默认值设置的为NULL你在框架执行sql的时候,先截获sql,打印出来sql,看看sql中那个字段的值是不是空的。 数据库默认值设置的为NULL你在框架执行sql的时候,先截获sql,打印出来sql,看看sql中那个字段的值是不是空的。打印了都变成0了 1.输出$str看下2.数据库是否设置默认值,表字段是不是整型 for($t='AD';$t<= 'BT';$t++) { $excelcell=$PHPExcel->getActiveSheet()->getCell("$t$j")->getValue(); if(''==$excelcell){echo 'NULL';}; $arr_result_nutr .= $excelcell.','; } $strs_nutr=explode(",",$arr_result_nutr); //$data_food=M("Food")->where("ID=$current_id")->select(); $data=array( 'ID'=>$current_id, 'RECORD_ID'=>$recordid, 'NAME'=>$name, 'PER_CONTENT'=>$PHPExcel->getActiveSheet()->getCell("AB$j")->getValue(),//每份含量 'PER_UNIT'=>'g', 'ENERGY_KJ'=>$strs_nutr[0], 'ENERGY_KCAL'=>$strs_nutr[1], 'PROTEIN'=>$strs_nutr[2], 'FAT'=>$strs_nutr[3], 'FULL_FAT'=>$strs_nutr[4], 'OPP_FAT'=>$strs_nutr[5], 'SINGLE_FAT'=>$strs_nutr[6], 'MULT_FAT'=>$strs_nutr[7], 'CHOLESTEROL'=>$strs_nutr[8], 'CARBON'=>$strs_nutr[9], 'SUGAR'=>$strs_nutr[10], ); //dump($data); M("Nutrition")->add($data); var_dump($data); echo M("Nutrition")->getlastsql(); 你 print_r($data) 能看到那个元素会是 null 吗?你的 if(''==$excelcell){echo 'NULL';} 是什么意思?应该是 if(''==$excelcell) { $excelcell = 'NULL'; } 吧这样才有可能在值域出现 NULL $data = $this->_facade($data); if(false === $this->_before_insert($data,$options)) { return false; }发现是MODEL里的这段代码把值变了,怎么处理这段代码啊? php日期转换问题,急???? 跪求一个cms sql 搜索 中文乱码??? 急!如下的数组在smarty中怎样用section循环啊?急!急!跪求高人指点! 请大牛们赐教正则表达式,抓取网页正文,过滤标签 大家觉得, 写程序的时候,过于考虑往后的扩展,维护是不是不好????? 用PHP能不能打开电脑中的某个盘 做电子商务网站,有用过的zen-cart opencart oscommerce ecshop的,哪一个好! 刚刚遇到一个棘手的算法问题,求解 菜鸡小白求教 zend studio 哪里有js 和 jquery 提示插件下载 phpexcelReader的使用
看看你的表定义和实际执行的 sql 指令
打印了都变成0了
2.数据库是否设置默认值,表字段是不是整型
for($t='AD';$t<= 'BT';$t++)
{
$excelcell=$PHPExcel->getActiveSheet()->getCell("$t$j")->getValue();
if(''==$excelcell){echo 'NULL';};
$arr_result_nutr .= $excelcell.',';
}
$strs_nutr=explode(",",$arr_result_nutr);
//$data_food=M("Food")->where("ID=$current_id")->select();
$data=array(
'ID'=>$current_id,
'RECORD_ID'=>$recordid,
'NAME'=>$name,
'PER_CONTENT'=>$PHPExcel->getActiveSheet()->getCell("AB$j")->getValue(),//每份含量
'PER_UNIT'=>'g',
'ENERGY_KJ'=>$strs_nutr[0],
'ENERGY_KCAL'=>$strs_nutr[1],
'PROTEIN'=>$strs_nutr[2],
'FAT'=>$strs_nutr[3],
'FULL_FAT'=>$strs_nutr[4],
'OPP_FAT'=>$strs_nutr[5],
'SINGLE_FAT'=>$strs_nutr[6],
'MULT_FAT'=>$strs_nutr[7],
'CHOLESTEROL'=>$strs_nutr[8],
'CARBON'=>$strs_nutr[9],
'SUGAR'=>$strs_nutr[10],
);
//dump($data);
M("Nutrition")->add($data);
var_dump($data);
echo M("Nutrition")->getlastsql();
应该是 if(''==$excelcell) { $excelcell = 'NULL'; } 吧
这样才有可能在值域出现 NULL
$data = $this->_facade($data);
if(false === $this->_before_insert($data,$options)) {
return false;
}发现是MODEL里的这段代码把值变了,怎么处理这段代码啊?