phpcmsv9自定義sql語句查詢模型實現


在phpcmsv9中,自定義sql語句查詢可不太好實現,傳入sql語句查詢很容易被內部轉入生成一系列莫名其妙的sql語句,比如最佳前綴等等,直接造成sql語句查詢錯誤,在此也提供兩種解決辦法,1修改底層sql語句實現,這種方法風險較高,全局影響不作推薦。2.自定義萬能模型(推薦),順便奉上萬能模型源碼:

<?php /** * @desc mengdj<mengdj@outlook.com> */
defined('IN_PHPCMS') or exit('No permission resources.'); pc_base::load_sys_class('model', '', 0); class a963_extend_model extends model { public function __construct(){ $this->db_config = pc_base::load_config('database'); $this->db_setting = 'default'; parent::__construct(); } public function sql_query($sql) { if (!empty($this->db_tablepre)) $sql = str_replace('phpcms_', $this->db_tablepre, $sql); return parent::query($sql); } public function fetch_next() { return $this->db->fetch_next(); } //通過SQL語句查詢一條結果
    public function get_one_by_sql($sql){ $this->sql_query($sql); $res = $this->fetch_next(); $this->free_result(); return $res; } //通過sql語句查詢數組
    public function get_array_by_sql($sql){ $this->sql_query($sql); $res = $this->fetch_array(); $this->free_result(); return $res; } //釋放數據庫結果資源,調用底層完成
    public function free_result() { $this->db->free_result(); } } ?>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM