14.2 字段类型验证
匿名 · 更新于 2013/12/30
新版的ThinkPHP具有字段类型检测,对于不合法的字段数据会进行强制转换。字段类型检测可以用于数据写入和数据查询操作。
需要启用字段类型检测的话,需要在配置文件中开启DB_FIELDTYPE_CHECK参数:
'DB_FIELDTYPE_CHECK'=>true, // 开启字段类型验证
字段类型检测主要在两个阶段会自动处理:
一、在数据写入到数据库之前
例如:
$User = M("User"); // 实例化User对象// 然后直接给数据对象赋值$User->name = 'ThinkPHP';$User->score = '2ThinkPHP';// 把数据对象添加到数据库$User->add();
二、在使用数组方式的普通查询条件后
例如:
$User = M("User"); // 实例化User对象$condition['id'] = '1 OR 1=1';// 把查询条件传入查询方法$User->where($condition)->select();
即使不进行强制转换,系统也会进行安全过滤,把这样的非法数据进行转义,区别在于这样对于数据库更加安全,对于某些数据库要求严格检查数据类型的情况会有帮助。
