ThinkPHP find大坑 不要随便用

举例:

M("User")->find(3);

$m=M("User");

$m->userName="aaa";

$m->add();

这几句跑起来最后add时一定会出错。把生成的SQL语句拿去执行发现报ID为3重复,原因是find出来的数据再其后对同一张表进行插入操作时会带入之前find出来的数据,即便是你重新用M方法获得了一个数据访问对象,导致ID冲突,非常坑,遇到此情况用select可解决。

时间: 2024-10-27 10:01:56

ThinkPHP find大坑 不要随便用的相关文章

thinkphp修改和删除数据

1.在控制器MainController里面写一个方法,调用Nation表中的数据. public function zhuyemian() { $n = D("Nation");//造一个Nation对象 $attr = $n->select();//查询所有数据,返回的是一个二维数组. $this->assign("n",$attr);//将二维数组注册到模板里面显示. $this->show();//调用模板显示 } 2.新建一个显示的模板文

phpstorm 支持 ThinkPHP 框架的方法

在网上找了好久,各种推荐和设置,都没什么用,最后决定到 phpstrom 插件库里面搜一下,还真找到了. 1. 进入 File - Setting - Plugins ,搜索 ThinkPHP 关键字,提示说没有完全符合的: 2. 仔细观察后,下面有一个类似的,即 Thinkstorm,点开看一下注释,支持 D() 和 M() 方法... 3. 安装后测试,随便试了几个用法,还不错.

配置nginx支持thinkphp框架

因为nginx本身没有支持pathinfo,所以无法使用thinkphp框架,不过我们可以在配置里进行修改使其能够正常使用thinkphp. 1.修改配置支持pathinfo vi /etc/nginx/cong.d/default.conf 在nginx的配置中添加 location ~ \.php/?.*$ {      root html;         #这里的路径需要注意一下,自己之前几次配置错误都是因为从网上直接粘贴的路径不对        fastcgi_pass   127.0

ThinkPHP中的魔术方法

本文实例分析了ThinkPHP中的__initialize()和类的构造函数__construct().分享给大家供大家参考.具体分析如下: thinkphp中的__construct是不可以随便用的,因为你的模块类继承上级类,上级类有定义好的; 1.__initialize()不是php类中的函数,php类的构造函数只有__construct(). 2.类的初始化:子类如果有自己的构造函数(__construct()),则调用自己的进行初始化,如果没有,则调用父类的构造函数进行自己的初始化.

ThinkPHP学习(二)

书接前文. 我想前台填写内容,然后在后台保存一下,规划了一下前台要录入的内容,主要包括title.content两大内容.然后简单设计了一个前台页面(复杂的我得会啊),就在上篇文章的基础上直接加了: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" conte

thinkphp实现UploadFile.class.php图片上传功能

图片上传在网站里是很常用的功能.ThinkPHP里也有自带的图片上传类(UploadFile.class.php) 和图片模型类(Image.class.php).方便于我们去实现图片上传功能,下面是实现方法 1.我们首先需要创建一个表 复制代码代码如下: CREATE TABLE IF NOT EXISTS `tp_image` ( `id` int(11) NOT NULL AUTO_INCREMENT, `image` varchar(200) NOT NULL, `create_time

thinkphp修改及编写标签库,编辑器的使用

在view目录下创建Index_aaa.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>select</title> </head> <body> <tagLib name="html"/> <html:select options="address"

thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成(十五)

原文:thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成(十五) 本章节:详细介绍thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成 一.URL规则 1.默认是区分大小写的 2.如果我们不想区分大小写可以改配置文件 'URL_CASE_INSENSITIVE'=>true,//url不区分大小写 *模块命名太长的情况: A.如果模块名为 UserGroupAction,复杂模块(一般是IndexAction) 那么url找模块就必要要写成

thinkphp学习笔记5—模块化设计

1.模块结构 完整的ThinkPHP用用围绕模块/控制器/操作设计,并支持多个入口文件盒多级控制.ThinkPHP默认PATHINFO模式,如下: http://serverName/index.php(或者其他应用入口文件)/模块/控制器/操作/[参数名/参数值...] 应用:由同一个入口文件访问的项目称为一个应用,在完整版的代码中就是Application 模块:一个应用下面可以包含多个模块,每个模块对应独立的目录,在完整版的代码中有Admin,Home,Common,Runtime四个模块