phpcmsv9自定义sql语句查询模型实现
2014-07-23 18:29
399 查看
在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(); } } ?>
相关文章推荐
- SQL语句实现跨Sql server数据库操作实例 - 查询远程SQL,本地SQL数据库与远程SQL的数据传递
- 在SQL Server中通过SQL语句实现分页查询
- 用SQL语句实现随机查询数据并不显示错误数据的方法
- asp下实现多条件模糊查询SQL语句
- 利用标准SQL语句实现查询记录分页
- ASP下实现多条件模糊查询SQL语句
- sql 语句实现简单查询和复杂查询
- 用SQL语句实现随机查询数据并不显示错误数据
- 用标准的SQL语句实现查询记录分页
- 在DataSet实现类似sql语句的查询
- 熟悉IBatisNet的兄弟,探讨下 如何实现 动态添加SQL语句,查询出随时所需的信息
- 在DataSet实现类似sql语句的查询
- 经典SQL语句实现子孙树查询
- sql语句实现2个表的查询(内连接)
- 在DataSet实现类似sql语句的查询
- SQL查询语句对象化的实现(C#
- 求助:关于一个查询的SQL语句,请高人指点如何实现,谢谢!
- 利用标准的SQL语句实现查询记录分页
- 用标准的SQL语句实现查询记录分页
- 【转】用标准的SQL语句实现查询记录分页