1. 程式人生 > >ibatis #和$ 區別

ibatis #和$ 區別

QQ 交流群 124343668  歡迎交流

今天寫到

SELECT DESCRIPTION FROM T_GLAMOUR_LOG
 WHERE REVEICER_ID = #userID#
 ORDER BY id DESC
 LIMIT #amount#

老是報錯...

後來才知道limit 後面不應該用#(我傳進來的是String),而應該用$,

 #與$的區別. (一般能用#的就別用$. )
#是把傳入的資料當作字串,如#amount#傳入的是amount,則sql語句生成是這樣,limit 'amount',會報錯.

$傳入的資料直接生成在sql裡,如#amount#傳入的是amount,則sql語句生成是這樣,order by amount.


#方式能夠很大程度防止sql注入. $方式無法防止sql注入.

$方式一般用於傳入資料庫物件.例如傳入表名.