ThinkPHP删除数据使用delete方法,例如: ~~~ $Form = M('Form'); $Form->delete(5); ~~~ 表示删除主键为5的数据,delete方法可以删除单个数据,也可以删除多个数据,这取决于删除条件,例如: ~~~ $User = M("User"); // 实例化User对象 $User->where('id=5')->delete(); // 删除id为5的用户数据 $User->delete('1,2,5'); // 删除主键为1,2和5的用户数据 $User->where('status=0')->delete(); // 删除所有状态为0的用户数据 ~~~ delete方法的返回值是删除的记录数,如果返回值是false则表示SQL出错,返回值如果为0表示没有删除任何数据。 也可以用order和limit方法来限制要删除的个数,例如: ~~~ // 删除所有状态为0的5 个用户数据 按照创建时间排序 $User->where('status=0')->order('create_time')->limit('5')->delete(); ~~~ 为了避免错删数据,如果没有传入任何条件进行删除操作的话,不会执行删除操作,例如: ~~~ $User = M("User"); // 实例化User对象 $User->delete(); ~~~ 不会删除任何数据,如果你确实要删除所有的记录,除非使用下面的方式: ~~~ $User = M("User"); // 实例化User对象 $User->where('1')->delete(); ~~~ 数据删除方法支持的连贯操作方法有: | 连贯操作 | 作用 | 支持的参数类型 | |-----|-----|-----| | where | 用于查询或者更新条件的定义 | 字符串、数组和对象 | | table | 用于定义要操作的数据表名称 | 字符串和数组 | | alias | 用于给当前数据表定义别名 | 字符串 | | order | 用于对数据排序 | 字符串和数组 | | lock | 用于数据库的锁机制 | 布尔值 | | relation | 用于关联删除(需要关联模型支持) | 字符串 | | scope | 用于命名范围 | 字符串、数组 | | bind | 用于数据绑定操作 | 数组 | | comment | 用于SQL注释 | 字符串 | | fetchSql | 不执行SQL而只是返回SQL | 布尔值 |