ThinkPHP內(nèi)置的ORM和ActiveRecord模式實現(xiàn)了方便的數(shù)據(jù)存取操作,而且新版增加的連貫操作功能更是讓這個數(shù)據(jù)操作更加清晰,但是ThinkPHP仍然保留了原生的SQL查詢和執(zhí)行操作支持,為了滿足復(fù)雜查詢的需要和一些特殊的數(shù)據(jù)操作,SQL查詢的返回值因為是直接返回的Db類的查詢結(jié)果,沒有做任何的處理。而且可以支持查詢緩存。主要包括下面兩個方法:
祁門網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)2013年開創(chuàng)至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
1、query方法
query方法是用于sql查詢操作,和select一樣返回數(shù)據(jù)集,例如:
$Model = new Model() // 實例化一個model對象 沒有對應(yīng)任何數(shù)據(jù)表
$Model-query("select * from think_user where status=1");
2、execute方法
用于更新和寫入數(shù)據(jù)的sql操作,返回影響的記錄數(shù),例如:
$Model = new Model() // 實例化一個model對象 沒有對應(yīng)任何數(shù)據(jù)表
$Model-execute("update think_user set name='thinkPHP' where status=1");
關(guān)于原生SQL操作的一點補充
通常使用原生SQL需要手動加上當(dāng)前要查詢的表名,如果你的表名以后會變化的話,那么就需要修改每個原生SQL查詢的sql語句了,針對這個情況,TP還提供了一個小的技巧來幫助解決這個問題。
php的數(shù)據(jù)類型有:1、String字符串型;2、Integer整型;3、Float和Double浮點型;4、Boolean布爾型;5、Array數(shù)組;6、Object對象;7、NULL空值等等。
username和password是文本型,所以需要在前后加單引號
$rs=$dbc-execute("select * from user where username ='".$username."' and password ='".$password.');
原因就是這樣了