怎样用onethinkphp写增删改查

怎样用onethinkphp写增删改查,第1张

ThinkPHP 内置的 add 方法用于向数据表添加数据,相当于 SQL 中的 INSERT INTO 行为。

ThinkPHP Insert 添加数据

添加数据 add 方法是 CURD(Create,Update,Read,Delete / 创建,修改,读取,删除)中的 Create 的实现,ThinkPHP 支持以普通数组方式和面向对象方式将数据写入数据表。

现在以《PHP MySQL 数据库教程》中 *** 作 user 表数据的例子(具体参见:MySQL Insert into 添加数据)为例,来演示如何在 ThinkPHP 中实现对数据表的数据添加 *** 作。

要先create再add,create可以根据表单自动创建数据库数据,也可以对传入的参数进行验证和过滤(在model里用_validate指定规则)。add直接插入create之后的数据,或者把传入的数组直接插入数据库

<php

class MysqlManage{

/创建数据库,并且主键是aid

table 要查询的表名

/

function createTable($table){

$sql="CREATE TABLE IF NOT EXISTS `$table` (`aid` INT NOT NULL primary key)ENGINE = InnoDB;";

M()->execute($sql);

$this->checkTable($table);

}

/

检测表是否存在,也可以获取表中所有字段信息

table 要查询的表名

return 表里所有字段的信息

/

function checkTable($table){

$sql="desc `$table`";

$info=M()->execute($sql);

return $info;

}

/

检测字段是否存在,也可以获取字段信息(只能是一个字段)

table 表名

field 字段名

/

function checkField($table,$field){

$sql='desc `$table` $field';

$info=M()->execute($sql);

return $info;

}

/

添加字段

table 表名

info 字段信息数组 array

return 字段信息 array

/

function addField($table,$info){

$sql="alter table `$table` add column";

$sql=$this->filterFieldInfo();

M()->execute($sql);

$this->checkField($table,$info['name']);

}

/

修改字段

不能修改字段名称,只能修改

/

function editField($table,$info){

$sql="alter table `$table` modify ";

$sql=$this->filterFieldInfo($info);

M()->execute($sql);

$this->checkField($table,$info['name']);

}

/

字段信息数组处理,供添加更新字段时候使用

info[name] 字段名称

info[type] 字段类型

info[length] 字段长度

info[isNull] 是否为空

info['default'] 字段默认值

info['comment'] 字段备注

/

private function filterFieldInfo($info){

if(!is_array($info))

return

$newInfo=array();

$newInfo['name']=$info['name'];

$newInfo['type']=$info['type'];

switch($info['type']){

case 'varchar':

case 'char':

$newInfo['length']=empty($info['length'])100:$info['length'];

$newInfo['isNull']=$info['isNull']==1'NULL':'NOT NULL';

$newInfo['default']=empty($info['default'])'':'DEFAULT '$info['default'];

$newInfo['comment']=empty($info['comment'])'':'COMMENT '$info['comment'];

break;

case 'int':

$newInfo['length']=empty($info['length'])7:$info['length'];

$newInfo['isNull']=$info['isNull']==1'NULL':'NOT NULL';

$newInfo['default']=empty($info['default'])'':'DEFAULT '$info['default'];

$newInfo['comment']=empty($info['comment'])'':'COMMENT '$info['comment'];

break;

case 'text':

$newInfo['length']='';

$newInfo['isNull']=$info['isNull']==1'NULL':'NOT NULL';

$newInfo['default']='';

$newInfo['comment']=empty($info['comment'])'':'COMMENT '$info['comment'];

break;

}

$sql=$newInfo['name']" "$newInfo['type'];

$sql=(!empty($newInfo['length']))($newInfo['length']) ' ':' ';

$sql=$newInfo['isNull']' ';

$sql=$newInfo['default'];

$sql=$newInfo['comment'];

return $sql;

}

/

删除字段

如果返回了字段信息则说明删除失败,返回false,则为删除成功

/

function dropField($table,$field){

$sql="alter table `$table` drop column $field";

M()->execute($sql);

$this->checkField($table,$filed);

}

/

获取指定表中指定字段的信息(多字段)

/

function getFieldInfo($table,$field){

$info=array();

if(is_string($field)){

$this->checkField($table,$field);

}else{

foreach($field as $v){

$info[$v]=$this->checkField($table,$v);

}

}

return $info;

}

}

以上就是关于怎样用onethinkphp写增删改查全部的内容,包括:怎样用onethinkphp写增删改查、thinkphp数据库 *** 作、thinkphp 怎么实现对mysql做到创建表,修改字段,添加字段,删除字段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9836662.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存