顶部导航开始 -->

thinkphp使用原生sql语句

在thinkphp连接数据库查询的时候,如果表名中带有大写字母,会发现数据表无法正常操作,因为thinkphp会默认将大写表名的大写字母转化成_小写字母,可以使用原生sql进行查询。

正常执行$model->select();等方法的时候,我们可以在这句话之前执行$model=M('user');这类的实例化对象操作。

但是当这种快速方法不能满足我们的数据库操作需求的时候,比如我需要插入其中几个字段,直接的add方法执行不了的时候,需要用到thinkphp的execute();方法来执行数据库操作,使用的时候,必须注意,thinkphp写原生语句的时候,thinkphp是不会把数据表的表前缀补齐的,我们需要写一个带前缀的完整的表名,程序才能正常执行。

案例:

$res=$m_order->execute("insert into zxqb_order (uid,good_id,good_name,good_num,good_price,fold,total,time,state) values (".$uid.",".$good_id.",'".$good_name."',".$good_num.",".$good_price.",".$good_fold.",".$good_total.",'".$time."',".$state.")");

这样就可以正常执行插入操作了。

自学php博客

自学php博客
请先登陆后发表评论
  • 最新评论
  • 总共0条评论
  • © 2014-2016 zixuephp.cn 版权所有
  • ICP证:皖ICP备16012107号
  • 联系邮箱:510082587@qq.com
  • 交流请加微信:weibobf2899 或扫下方二维码