綁定方法跟直接在execute括號里傳參有什么區(qū)別
請問綁定這種方法跟直接在execute方法的括號里傳參給占位符有什么區(qū)別? $res = $stmt->execute(array('用戶名','密碼','郵箱')); 僅僅是因?yàn)榻壎梢栽O(shè)置數(shù)據(jù)類型嗎? 綁定方法太繁瑣了
請問綁定這種方法跟直接在execute方法的括號里傳參給占位符有什么區(qū)別? $res = $stmt->execute(array('用戶名','密碼','郵箱')); 僅僅是因?yàn)榻壎梢栽O(shè)置數(shù)據(jù)類型嗎? 綁定方法太繁瑣了
2017-04-26
舉報(bào)
2019-03-11
execute() 傳參或?bindValue() 是綁定常量到參數(shù);bindParam() 是綁定變量到參數(shù)。
相比之下,綁定變量更加靈活。
2017-04-26
$res = $stmt->execute(array('用戶名','密碼','郵箱')); ? ?也是可以防止SQL注入的, ?我用的是execute方法喲,不是exec方法,我是給占位符分配數(shù)據(jù)過去,用的預(yù)處理
2017-04-26
綁定參數(shù)可以防止sql注入。什么是sql注入?如果你的sql是這樣"select * from tb_user where user_name = ?" ?當(dāng)你不用綁定參數(shù),而是選擇直接傳參,你本來預(yù)期的參數(shù)比如是zhangsan,用戶通過輸入框輸入的,即(select * from tb_user where user_name= 'zhangsan'),但對方輸入了'zhangsan or 1=1',你的sql就變成了 select * from tb_user where user_name = 'zhangsan',結(jié)果要么所有用戶信息泄露,要么你的服務(wù)器死機(jī),知道危害了吧