搜索
系统检测到您的用户名不符合规范:

解决THINKPHP未考虑表结构处理sql语句的返回值的问题

浏览:1761 发布日期:2013年05月27日 分类:技术分享
thinkphp原生的执行sql方法中execute() 和query(),都只返回增删改查数据的影响的条数的返回值,而对于表结构的处理的sql,却没有考虑它的返回值,处理方法:

第一步:
在Model.class.php增加方法
/**
* 我定义的针对表结构执行SQL语句,后有返回值的execute
* @author MIAO
* @access public
* @param string $sql SQL指令
* @param mixed $parse 是否需要解析SQL
* @return false | integer
*/
public function tableExecute($sql) {
$sql = $this->parseSql($sql,$parse);
return $this->db->tableExecute($sql);
}


第二步:
在DbMysql.class.php中增加方法
/**
* 我自定义的执行对表结构操作的sql语句
* @author MIAO
* @access public
* @param string $str sql指令
* @return mix
*/
public function tableExecute($str){//
$this->initConnect(true);
if ( !$this->_linkID ) return false;
$this->queryStr = $str;
//释放前次的查询结果
if ( $this->queryID ) { $this->free(); }
N('db_write',1);
// 记录开始执行时间
G('queryStartTime');
return mysql_query($str, $this->_linkID) ;
}
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
miaomiaomiao999@qq.com
积分:245 等级:LV1
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /