thinkphp3.2 参数绑定是什么意思
展开全部
这是防止thinkPHP框架里的I方法过滤不全而设置的。
以下是我对于bind的理解:
例如:
$bind[':name']="abc \' or 1 =1 '";//这是注入输入的信息;
$where['name']=": name";
$User=M('user');
$User->where($where)->bind($bind)->select();
mysql语句输出为 :select * from user where name="abc or 1 =1 '";
bind会用户传过来的特殊非法字符给再次过滤。
现在Tp框架里只要设置了
'DB_BIND_PARAM' => true
引用TP例子
然后,我们在使用
$Model = M('User');
$Model->name = 'thinkphp';
$Model->email = 'thinkphp@qq.com';
$Model->add();
会自动对写入的数据进行参数绑定操作。其操作等效于:
$Model = M('User');
$Model->name = ':name';
$Model->email = ':email';
$bind[':name'] = 'thinkphp';
$bind[':email'] = 'thinkphp@qq.com';
$Model->bind($bind)->add();
以下是我对于bind的理解:
例如:
$bind[':name']="abc \' or 1 =1 '";//这是注入输入的信息;
$where['name']=": name";
$User=M('user');
$User->where($where)->bind($bind)->select();
mysql语句输出为 :select * from user where name="abc or 1 =1 '";
bind会用户传过来的特殊非法字符给再次过滤。
现在Tp框架里只要设置了
'DB_BIND_PARAM' => true
引用TP例子
然后,我们在使用
$Model = M('User');
$Model->name = 'thinkphp';
$Model->email = 'thinkphp@qq.com';
$Model->add();
会自动对写入的数据进行参数绑定操作。其操作等效于:
$Model = M('User');
$Model->name = ':name';
$Model->email = ':email';
$bind[':name'] = 'thinkphp';
$bind[':email'] = 'thinkphp@qq.com';
$Model->bind($bind)->add();
展开全部
就好像你在控制器里有一个方法 比如
public function index($a) //这个方法需要一个参数a
{
}
你在浏览器里访问的时候
Home/index/index/a/11111 //假设是Home 模块 index 控制器
就是把index后面的a 与$a 做了绑定 11111就是¥a的值
public function index($a) //这个方法需要一个参数a
{
}
你在浏览器里访问的时候
Home/index/index/a/11111 //假设是Home 模块 index 控制器
就是把index后面的a 与$a 做了绑定 11111就是¥a的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库吗? pdo??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询