为了账号安全,请及时绑定邮箱和手机立即绑定

绑定方法跟直接在execute括号里传参有什么区别

请问绑定这种方法跟直接在execute方法的括号里传参给占位符有什么区别? $res = $stmt->execute(array('用户名','密码','邮箱')); 仅仅是因为绑定可以设置数据类型吗? 绑定方法太繁琐了

正在回答

3 回答

execute() 传参或 bindValue() 是绑定常量到参数;bindParam() 是绑定变量到参数。

相比之下,绑定变量更加灵活。

0 回复 有任何疑惑可以回复我~

$res = $stmt->execute(array('用户名','密码','邮箱'));    也是可以防止SQL注入的,  我用的是execute方法哟,不是exec方法,我是给占位符分配数据过去,用的预处理

0 回复 有任何疑惑可以回复我~

绑定参数可以防止sql注入。什么是sql注入?如果你的sql是这样"select * from tb_user where user_name = ?"  当你不用绑定参数,而是选择直接传参,你本来预期的参数比如是zhangsan,用户通过输入框输入的,即(select * from tb_user where user_name= 'zhangsan'),但对方输入了'zhangsan or 1=1',你的sql就变成了 select * from tb_user where user_name = 'zhangsan',结果要么所有用户信息泄露,要么你的服务器死机,知道危害了吧

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

绑定方法跟直接在execute括号里传参有什么区别

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号