Dao層寫資料庫語句使用IN遇到的問題

2021-08-22 13:29:23 字數 617 閱讀 3837

dao層語句如下:

@select("select count( * ) from (( `comp` `c` left join `comp_value` `cv` on ( ( `c`.`comp_id` = `cv`.`comp_id` ) ) )" +

"left join `listing` `l` on ( ( `cv`.`listing_no` = `l`.`listing_no` ) ) ) " +

"where( `c`.`comp_id` in ( select `comp_id` from `job_comp` where job_comp.job_id in ($)))")

int countcomplisting2(@param("jobids") string jobids);

(jobids是乙個用「,」分隔的字串)

標紅的位置,如果使用正常的傳參形式#會只取字串中第乙個數字,後面的都不會取到,所以使用了"$"這種格式,查到用美元符號會容易導致sql注入攻擊問題,暫時還不太明白會怎麼攻擊,以後有好的辦法再進行修改

DAO資料庫 修改

void cdlgmodify onbuttonok cstring strsql strsql.format select from linkinfo where personid s m strpersonid 獲取要修改的聯絡人資訊的sql語句 clinkinfoset linkinfoset...

YII資料庫DAO操作

雖然我們可以使用cactviereord完成大部分對資料庫的操作。他簡化了資料庫操作,但是有時候卻把一些資料庫操作複雜化了。所以yii同時允許我們可以自己連線資料庫,組織查詢語句,執行查詢語句,獲取查詢結果。這樣可以讓我們靈活的選擇使用哪一種方式。下面講講yii提供的dao操作相關類的使用方法。具體...

關於資料庫dao層執行多個list的注意事項

在專案過程中遇到一種非常詭異的情況。資料庫的sql是裝在list中執行的,平生能夠第一次看到,和mybatis原理相同,略微注意一下。例如如下 的是否成功的非空判斷。public boolean changetabledate string pdate,string planid,string da...