ThinkPHP CURD方法盘点:where方法

ThinkPHPCURD方法盘点:where方法查询最常用但也是最复杂的where方法,where方法也属于模型类的连贯操作方法之一,主要用于查询和操作条件的设置。where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHPORM的重要组成部分和亮点所在,可以完成包括普通查询、表达式查询、快捷查询、区间查询、组合查询在内的查询操作。where方法的参数支持字符串和数组,虽然也可以使用对象但并不建议。字符串条件使用字符串条件直接查询和操作,例如:$User=M("User");//实例化User对象$User->where('type=1ANDstatus=1')->select();最后生成的SQL语句是SELECT*FROMthink_userWHEREtype=1ANDstatus=1如果使用3.1以上版本的话,使用字符串条件的时候,建议配合预处理机制,确保更加安全,例如:$Model->where("id=%dandusername='%s'andxx='%f'",array($id,$username,$xx))->select();或者使...

mysql count group by统计条数方法

mysqlcountgroupby统计条数方法mysql分组之后如何统计记录条数?gourpby之后的count,把groupby查询结果当成一个表再count一次selectcount(*)ascountfrom(SELECTcount(*)FROM表名WHERE条件GROUPBYid)a;实战例子:selectcount(*)astotalfrom(selectcount(*)fromusersgroupbyuser_id)u...

mysql创建外链失败1005错误解决方法

mysql创建外链失败1005错误解决方法错误号:1005错误信息:Can'tcreatetable'webDB.#sql-397_61df'(errno:150)解决方法错误原因有四:1、外键的引用类型不一样,主键是int外键是char,或者大小不一样也不行,int(11位)bigint(20位)2、找不到主表中引用的列3、主键和外键的字符编码不一致4、要先建立索引,没有建立索引也会出错。本人错误原因是1,将外键所在的表的字段为int改成跟主表一致的bigint就不报这个错误了。已执行的SQL语句:Altertable`webDB`.`adm_house_layout`addconstraint`FK_Relationship_911`foreignkey(`house_type_id`)references`webDB`.`adm_recommend_house`(`r_id`)错误号:1005错误信息:Can'tcreatetable'webDB.#sql-397_61df'(errno:150)错误号:1452错误信息Cannotaddorupdateachildrow:afo...

window开机启动项设置和取消方法

window开机启动项1.添加开机启动项:开始-->所有程序-->启动-->双击(xp系统)或右键打开,把需要启动的软件快捷键拖放进去即可,遇到安全软件的拦截,只需选择"允许本次操作"即可”。ps:也可以直接把快捷方式拖动到启动菜单栏里面。2.修改/禁用开机启动项:开始-->运行,输入msconfig回车。开机启动项在启动栏目设置,将不需要启动的软件取消选中,点击确定按钮,重启电脑后生效。ps:也可以通过安全卫士、杀毒软件的优化启动项进行设置。...

python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法

python3.4学习笔记(二十四)Pythonpycharmwindow安装redisMySQL-python相关方法window安装redis,下载Redis的压缩包https://github.com/dmajkic/redis/downloads如redis-2.4.5-win32-win64.zip下载完后将其解压放在自己要放的目录下如果你是32位的话就进32bit的文件夹,64位就进64bit文件夹文件夹进去后会看到几个文件:redis-benchmark.exe:性能测试模拟N个客户端发送set,get请求redis-check-aof.exe:更新日志检查redis-check-dump.exe:本地数据库检查redis-server.exe:服务程序打开dos命令栏,进入到redis的目录下面(如D:edis),输入以下命令:C:UsersAdministrator>d:D:>cdredisD:edis>redis-server.exeredis.conf[5184]22Jul15:53:53*Serverstarted,Redisversion2....

python3.4学习笔记(二十一) python实现指定字符串补全空格、前面填充0的方法

python3.4学习笔记(二十一)python实现指定字符串补全空格、前面填充0的方法Pythonzfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0。zfill()方法语法:str.zfill(width)参数width--指定字符串的长度。原字符串右对齐,前面填充0。返回指定长度的字符串。以下实例展示了zfill()函数的使用方法:#!/usr/bin/pythonstr="thisisstringexample....wow!!!";printstr.zfill(40);printstr.zfill(50);以上实例输出结果如下:00000000thisisstringexample....wow!!!000000000000000000thisisstringexample....wow!!!zfill()则用于向数值的字符串表达式左侧填充0,该函数可以正确理解正负号:>>>'12'.zfill(5)'00012’>>>'-3.14'.zfill(7)'-003.14'>>>'3.14159265...

python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法

python3.4学习笔记(十九)同一台机器同时安装python2.7和python3.4的解决方法同一台机器同时安装python2.7和python3.4不会冲突。安装在不同目录,然后把python34目录下的python.exe和pythonw.exe重命名为python3.exe和pythonw3.exe环境变量配置:D:Python27;D:Python27Scripts;D:Python34;D:Python34Scripts;在cmd命令行里面输入python3就可以使用python3了,而默认python为2.7https://www.python.org/downloads/release/python-2710/=========================================如果你在Linux下,可以有两种方式区别:运行时使用pythona.py(使用Python2.7)python3a.py(使用Python3.4)在文件头部加上#/usr/env/binpython(使用Python2.7)#/usr/env/binpython3(使用Pytho...

php判断数组元素是否存在某个字符串的方法

php判断数组元素是否存在某个字符串的方法:方法一:采用in_array(value,array,type)type可选。如果设置该参数为true,则检查搜索的数据与数组的值的类型是否相同。 1$arr=array('可以','如何','方法','知道','沒有','不要');2//in_array(value,array,type)3$isin=in_array("如何2",$arr);4if($isin){5echo"in====".$isin;6}else{7echo"out====".$isin;8}方法二:array_key_exists'array_key_exists()函数判断某个数组中是否存在指定的key,如果该key存在,则返回true,否则返回false。array_key_exists(key,array方法三:array_search()函数与in_array()一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回false。array_search(value,array,strict),当数据量比较大的时候,用a...

linux 中的定时任务crontab使用方法

linux中的定时任务crontab使用方法:切换到root用户,sudosuroot(可以设置成不需要输入密码)sudosu-(需要输入当前帐号的密码才能进入。)crontab-e进入编辑界面,i进入编辑状态,esc键返回,:wq保存退出。============================================================#run-parts01****rootrun-parts/etc/cron.hourly024***rootrun-parts/etc/cron.daily224**0rootrun-parts/etc/cron.weekly4241**rootrun-parts/etc/cron.monthly/etc/crontab文件中的每一行都代表一项任务,它的格式是:minutehourdaymonthdayofweekcommandminute—分钟,从0到59之间的任何整数hour—小时,从0到23之间的任何整数day—日期,从1到31之间的任何整数(如果指定了月份,必须是该月份的有效日期)mo...

Maximum execution time of 30 seconds exceeded解决错误方法

Maximumexecutiontimeof30secondsexceeded解决错误方法Fatalerror:Maximumexecutiontimeof30secondsexceeded出现这个错误如何解决去哪里可以设置最大执行时间办法:修改php.ini:max_execution_time=300,秒可以设置更大,然后重起服务或者在程序写set_time_limit(时间) //0为无限制...

php mysqli query 查询数据库后读取内容的方法

phpmysqliquery查询数据库后读取内容的方法<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if ($mysqli->connect_errno) {    printf("Connect failed: %s", $mysqli->connect_error);    exit();}/* Create table doesn't return a resultset */if ($mysqli->query("CREATE TEMPORARY TABLE myCity LI...

php 截取字符串第一个字符,截取掉字符串最后一个字符的方法

php截取字符串第一个字符,php截取掉字符串最后一个字符的方法:$frist=substr($c_url,0,1);$delete_last=substr(base_url(),0,-1); 更多内容请看本人原创百度经验:phpCI实战教程:[6]判断网址开头处理_百度经验http://jingyan.baidu.com/article/359911f5741d1b57ff030669.html...

PHP获取当前类名、函数名、方法名

  PHP获取当前类名、方法名  __CLASS__获取当前类名  __FUNCTION__当前函数名(confirm)  __METHOD__当前方法名(bankcard::confirm) __FUNCTION__   函数名称(PHP4.3.0新加)。自PHP5起本常量返回该函数被定义时的名字(区分大小写)。在PHP4中该值总是小写字母的。__CLASS__   类的名称(PHP4.3.0新加)。自PHP5起本常量返回该类被定义时的名字(区分大小写)。在PHP4中该值总是小写字母的。__METHOD__   类的方法名(PHP5.0.0新加)。返回该方法被定义时的名字(区分大小写)。注:这些常量前后均是两个下划线。get_class(classname);//取得当前语句所在类的类名get_class_methods(classname);//取得classname类的所有的方法名,并且组成一个数组ge...

MySQL用sql复制表数据到新表的方法

用sqlyog无法直接复制出一个不同表名的表来,只能copy到其他库上同名的表。在MySQL数据库中,应该如何用sql将表数据复制到新表中呢?本人通过试验测试成功了,而且相当简单易懂,速度也非常快。主要内容来源于本人原创百度经验MySQL用sql复制表数据到新表的方法_百度经验http://jingyan.baidu.com/article/72ee561aa28b24e16038df5b.htmlMySQL复制表结构及数据到新表CREATETABLE新表SELECT*FROM旧表,实例如下:CREATETABLEnew_tableSELECT*FROMold_table执行后的Messages:(465row(s)affected)ExecutionTime:00:00:00:359TransferTime :00:00:01:125TotalTime    :00:00:01:484465row(s)说明复制了数据过去只复制表结构到新表CREATETABLE新表SELECT*FROM旧表WHERE1=2即:让WHERE条件不成立,也...

mysql 插入数据失败防止自增长主键增长的方法

mysql插入数据失败防止自增长主键增长的方法mysql设置了自增长主键ID,插入失败的那个自增长ID也加一的,比如失败5个,下一个成功的不是在原来最后成功数据加1,而是直接变成加6了,失败次数一次就自动增长1了,能不能让失败的不增长的?或者说mysql插入数据失败,怎么能防止主键增长?MYSQL不保证AUTO_INCREMENT依次增长(1,2,3,4,5),但是可以保证正向增长(1,3,5,9)所以,当你某次操作失败后,下次AUTO_INCREMENT就不是顺序的了。innodb的自增是缓存在内存字典中的,分配方式是先预留,然后再插入的。所以插入失败不会回滚内存字典。让innodb识别到当前最大id的方法是重启server更新AUTO_INCREMENT缓存,或者用altertable`表`AUTO_INCREMENT=最大数; 这种思路基本不实用,下面介绍一种方便的方法。Mysql主键如果在insert插入时有值,将不使用自增。也就是说插入数据的时候只要自己把ID加上就按照插入的数进行自增了,这个数通过自己的逻辑判断代码来赋值,只要ID不重复就可以了。例如:String...
首页上一页...353354355356357...下一页尾页