您好,欢迎访问一九零五行业门户网

thinkphp对mysql的CURD操作

利用thinkphp(3.2.3)来操作数据库,首先要连接数据库。我们需要对某数据库写一个配置文件,thinkphp会根据该配置文件自动连接上数据库。而model文件就不用自定义,内置的即可解决问题。配置文件写于目录application\home\conf\config.php下:
'配置值''db_type'=> 'mysql',//数据库类型'db_host'=> '127.0.0.1',//服务器地址'db_name'=>'jiu151231',//数据库名称'db_user'=>'root',//用户名'db_pwd'=>'',//密码'db_port'=>'3306',//端口'db_prefix'=>'',//数据库表前缀);
到此,准备工作完成。其中,那个数据库表前缀,网上关于默认各种说法,我的默认为空。估计其他前缀,打开phpmyadmin可以看到吧。
curd操作代码都在目录application\home\controller\indexcontroller.class.php里,这是控制器文件。下面都是采用m方法实例化表对象的。
c
插入数据
add($j0); }}
插入多条数据
'li','lastname'=>'weifeng'); $list[]=array('firstname'=>'liu','lastname'=>'tian'); $jiu0->addall($list); }}
r
读单条记录 find方法返回第一个符合条件的记录
where('firstname=lv')->find(); dump($data); }}
where('firstname=lv')->find(); dump($gu->data()); }}
读多条数据 select方法 如果查询出错,select的返回值是false,如果查询结果为空,则返回null,否则返回二维数组。
where('firstname=lv')->order('id')->limit(5)->select();//返回5条数据 dump($list); }}
读取字段值
where('id=5')->getfield('firstname'); dump($list); }}
getfield('id',true);//返回整列 dump($list); }}
getfield('id,firstname',5);//返回多列,5条记录 dump($list); }}
u
save方法
where('id=5')->save($data); }}
firstname='liu'; $gu->lastname='hl'; $gu->where('id=6')->save(); }}
更新字段
where('id=6')->setfield('firstname','wang'); }}
更新多个字段
'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方法
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的用户数据
其它类似信息

推荐信息