我是靠谱客的博主 斯文皮卡丘,这篇文章主要介绍thinkphp 处理mysql_thinkphp对mysql的CURD操作,现在分享给大家,希望可以做个参考。

利用thinkphp(3.2.3)来操作数据库,首先要连接数据库。我们需要对某数据库写一个配置文件,thinkphp会根据该配置文件自动连接上数据库。而model文件就不用自定义,内置的即可解决问题。配置文件写于目录applicationhomeconfconfig.php下:

<?phpreturn array(//'配置项'=>'配置值'

'DB_TYPE'=> 'mysql',//数据库类型

'DB_HOST'=> '127.0.0.1',//服务器地址

'DB_NAME'=>'jiu151231',//数据库名称

'DB_USER'=>'root',//用户名

'DB_PWD'=>'',//密码

'DB_PORT'=>'3306',//端口

'DB_PREFIX'=>'',//数据库表前缀);

到此,准备工作完成。其中,那个数据库表前缀,网上关于默认各种说法,我的默认为空。估计其他前缀,打开phpmyadmin可以看到吧。

CURD操作代码都在目录applicationhomecontrollerindexcontroller.class.php里,这是控制器文件。下面都是采用M方法实例化表对象的。

C

插入数据

namespace HomeController;useThinkController;class IndexController extendsController {public functionindex(){$jiu0=M('myguests');$j0['firstname']='lv';$j0['lastname']='oe';$jiu0->add($j0);

}

}

插入多条数据

namespace HomeController;useThinkController;class IndexController extendsController {public functionindex(){$jiu0=M('myguests');$list[]=array('firstname'=>'li','lastname'=>'weifeng');$list[]=array('firstname'=>'liu','lastname'=>'tian');$jiu0->addAll($list);

}

}

R

读单条记录 find方法返回第一个符合条件的记录

namespace HomeController;useThinkController;class IndexController extendsController {public functionindex(){$gu=M('myguests');$data=$gu->where('firstname="lv"')->find();

dump($data);

}

}

namespace HomeController;useThinkController;class IndexController extendsController {public functionindex(){$gu=M('myguests');$gu->where('firstname="lv"')->find();

dump($gu->data());

}

}

读多条数据 select方法 如果查询出错,select的返回值是false,如果查询结果为空,则返回NULL,否则返回二维数组。

namespace HomeController;useThinkController;class IndexController extendsController {public functionindex(){$gu = M("myguests");$list = $gu->where('firstname="lv"')->order('id')->limit(5)->select();//返回5条数据

dump($list);

}

}

读取字段值

namespace HomeController;useThinkController;class IndexController extendsController {public functionindex(){$gu = M("myguests");$list = $gu->where('id=5')->getField('firstname');

dump($list);

}

}

namespace HomeController;useThinkController;class IndexController extendsController {public functionindex(){$gu = M("myguests");$list = $gu->getField('id',true);//返回整列

dump($list);

}

}

namespace HomeController;useThinkController;class IndexController extendsController {public functionindex(){$gu = M("myguests");$list = $gu->getField('id,firstname',5);//返回多列,5条记录

dump($list);

}

}

U

save方法

namespace HomeController;useThinkController;class IndexController extendsController {public functionindex(){$gu = M("myguests");$data['firstname']='liu';$data['lastname']='hl';$gu->where('id=5')->save($data);

}

}

namespace HomeController;useThinkController;class IndexController extendsController {public functionindex(){$gu = M("myguests");$gu->firstname='liu';$gu->lastname='hl';$gu->where('id=6')->save();

}

}

更新字段

namespace HomeController;useThinkController;class IndexController extendsController {public functionindex(){$gu = M("myguests");$gu->where('id=6')->setField('firstname','wang');

}

}

更新多个字段

namespace HomeController;useThinkController;class IndexController extendsController {public functionindex(){$gu = M("myguests");$data=array('firstname'=>'lv','lastname'=>'huan');$gu->where('id=1')->setField($data);

}

}

而对于统计字段(通常指的是数字类型)的更新,系统还提供了 setInc 和 setDec 方法。

$User = M("User"); //实例化User对象

$User->where('id=5')->setInc('score',3); //用户的积分加3

$User->where('id=5')->setInc('score'); //用户的积分加1

$User->where('id=5')->setDec('score',5); //用户的积分减5

$User->where('id=5')->setDec('score'); //用户的积分减1

3.2.3版本开始,setInc和setDec方法支持延迟更新,用法如下:

$Article = M("Article"); //实例化Article对象

$Article->where('id=5')->setInc('view',1); //文章阅读数加1

$Article->where('id=5')->setInc('view',1,60); //文章阅读数加1,并且延迟60秒更新(写入)

D

delete方法

namespace HomeController;useThinkController;class IndexController extendsController {public functionindex(){$gu = M("myguests");$gu->delete(2);//删除主键2对应的记录

}

}

delete方法可以删除单个数据,也可以删除多个数据,这取决于删除条件,例如:

$User = M("User"); //实例化User对象

$User->where('id=5')->delete(); //删除id为5的用户数据

$User->delete('1,2,5'); //删除主键为1,2和5的用户数据

$User->where('firstname="lv"')->delete(); //删除所有firstname为"lv"的用户数据

最后

以上就是斯文皮卡丘最近收集整理的关于thinkphp 处理mysql_thinkphp对mysql的CURD操作的全部内容,更多相关thinkphp内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部