綁定方法跟直接在execute括號里傳參有什么區別
請問綁定這種方法跟直接在execute方法的括號里傳參給占位符有什么區別? $res = $stmt->execute(array('用戶名','密碼','郵箱')); 僅僅是因為綁定可以設置數據類型嗎? 綁定方法太繁瑣了
請問綁定這種方法跟直接在execute方法的括號里傳參給占位符有什么區別? $res = $stmt->execute(array('用戶名','密碼','郵箱')); 僅僅是因為綁定可以設置數據類型嗎? 綁定方法太繁瑣了
2017-04-26
舉報
2019-03-11
execute() 傳參或?bindValue() 是綁定常量到參數;bindParam() 是綁定變量到參數。
相比之下,綁定變量更加靈活。
2017-04-26
$res = $stmt->execute(array('用戶名','密碼','郵箱')); ? ?也是可以防止SQL注入的, ?我用的是execute方法喲,不是exec方法,我是給占位符分配數據過去,用的預處理
2017-04-26
綁定參數可以防止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',結果要么所有用戶信息泄露,要么你的服務器死機,知道危害了吧