ThinkPHP内置的ORM和ActiveRecord模式实现了方便的数据存取操作,而且新版增加的连贯操作功能更是让这个数据操作更加清晰,但是ThinkPHP仍然保留了原生的SQL查询和执行操作支持,为了满足复杂查询的需要和一些特殊的数据操作,SQL查询的返回值因为是直接返回的Db类的查询结果,没有做任何的处理。而且可以支持查询缓存。主要包括下面两个方法:
在德惠等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、成都网站制作 网站设计制作定制开发,公司网站建设,企业网站建设,成都品牌网站建设,成都营销网站建设,外贸网站建设,德惠网站建设费用合理。
1、query方法
query方法是用于sql查询操作,和select一样返回数据集,例如:
$Model = new Model() // 实例化一个model对象 没有对应任何数据表
$Model-query("select * from think_user where status=1");
2、execute方法
用于更新和写入数据的sql操作,返回影响的记录数,例如:
$Model = new Model() // 实例化一个model对象 没有对应任何数据表
$Model-execute("update think_user set name='thinkPHP' where status=1");
关于原生SQL操作的一点补充
通常使用原生SQL需要手动加上当前要查询的表名,如果你的表名以后会变化的话,那么就需要修改每个原生SQL查询的sql语句了,针对这个情况,TP还提供了一个小的技巧来帮助解决这个问题。
1、查看数据库类型。看是否是数据库类型不正确,一个上传文件要用二进制做为类型。
2、先上传一个小文件,试试是否是因为数据库数据大小的限制。
3、上传的文件数据先不要进行入库。输出试试看,是否正确。
4、查看一下表单enctype是否设置正确。
5、你说两个空间共用一个数据库。那么访问数据库帐户是否设置正确?如果设置local的话,那么,你这两个空间是否在同一个服务器上?如果数据库与这两个空间不在用一个服务器上,记得要设置远程访问的帐户,而不是本地的访问帐户。
数据类型有三种:
1.标量数据类型
标量数据类型包括以下几种。
(1)boolean:布尔型
布尔变量是PHP变量中最简单的。它保存一个True或者False值。其中True或者False是PHP的内部关键字。设定一个布尔型的变量,只需将True或者False赋值给该变量
(2)string:字符串
字符串是连续的字符序列,字符串中的每个字符只占用一个字节。在PHP中,定义字符串有3种方式:
单引号方式,
双引号方式,
Heredoc方式。
(3)integer:整数
整数数据类型只能包含整数。这些数据类型可以是正数或负数。在32位的操作系统中,有效的范围是−2 147 483 648~+2 147 483 647。
(4)double:浮点数
浮点数据类型可以用来存储数字,也可以保存小数。它提供的精度不整数大得多。在32位的操作系统中,有效的范围是1.7E-308~1.7E+308。
2.复合数据类型
复合数据类型包括以下两种。
(1)array:数组
可以是二维、三维或者多维,数组中的各元素可以是string、integer或double,也可以是array。
(2)object:对象类型
3.特殊数据类型
特殊数据类型包括以下两种。
(1)resource:资源
资源是PHP内的几个函数所需要的特殊数据类型,由编程人员来分配。
(2)null:空值
空值是最简单的数据类型。表示没有为该变量设置任何值,另外,空值(NULL)不区分大小写。
PHP是弱类型的语言,变量是没有类型的,由编译环境自动处理。
当然,实际使用中为了避免出错,推荐对变量进行初始化。
比如$var = '';就是字符 $var = 0; 则是数字 $var = array()是数组