PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > 工作总结

PHP编程:thinkPHP数据库增删改查操作方法实例详解

管理员 2025-02-27
工作总结
6

《PHP编程:thinkPHP数据库增删改查操作方法实例详解》要点:
本文介绍了PHP编程:thinkPHP数据库增删改查操作方法实例详解,希望对您有用。如果有疑问,可以联系我们。
 

相关主题:thinkphp教程

PHP编程本文实例讲述了thinkPHP数据库增删改查操作方法.分享给大家供大家参考,具体如下:

PHP编程thinkphp对数据库增删改查进行了封装操作,使得使用更加方便,但是不一定灵活.

PHP编程可以用封装的用,需要写sql,可以执行sql.

PHP编程1.原始的

PHP编程$Model = new Model(); // 实例化一个model对象 没有对应任何数据表$insert_sql = "INSERT INTO sh_wxuser_collection (user_id,store_id,good_id,addtime) VALUES('".$user_id."','".$store_id."','".$good_id."','".$addtime."');";$Model - >query($insert_sql);

PHP编程2.针对表实例化的,这里的表原名是sh_wxuser_collection.sh是前缀.

PHP编程$model = M('wxuser_collection'); //自动省去sh$insert_sql = "INSERT INTO __TABLE__ (user_id,store_id,good_id,addtime) VALUES('".$user_id."','".$store_id."','".$good_id."','".$addtime."');";$model - >query($insert_sql);

PHP编程另一种写法,_可以写成大写,它会自动转化成_

PHP编程$model = M('WxuserCollection'); //自动省去sh$insert_sql = "INSERT INTO __TABLE__ (user_id,store_id,good_id,addtime) VALUES('".$user_id."','".$store_id."','".$good_id."','".$addtime."');";$model - >query($insert_sql);

PHP编程3. 封装的add语句

PHP编程$model = M('WxuserCollection');$data = array('user_id' = >$user_id, 'store_id' = >$store_id, 'good_id' = >$good_id, 'addtime' = >$addtime);$model - >data($data) - >add();

PHP编程4.封装的修改edit语句

PHP编程$model = M('WxuserCollection');$data = array('user_id' = >$user_id, 'store_id' = >$store_id, 'good_id' = >$good_id, 'addtime' = >$addtime);$model - >data($data) - >where('id=3') - >save();

PHP编程确实挺方便的,但是方便之余,别忘了原始的sql,原汁原味的sql,才最有意思.

PHP编程5.find()

PHP编程$model = M('WxuserCollection');$res1 = $model - >find(1);$res2 = $model - >find(2);$res3 = $model - >where('good_id=1105 AND store_id = 1 AND user_id = 20') - >find();

PHP编程find获取一条数据,find(1)获取id为1的数据,find(2)获取id为2的数据.最后一个是获取条件为where的中的第一条数据.

PHP编程5.select()

PHP编程$model = M('WxuserCollection');$res = $model - >where('good_id=1105 AND store_id = 1 AND user_id = 20') - >field('id,good_id as good') - >select();

PHP编程获取所有数据.这里的好处就是,不用考虑sql语句的顺序了,随心所欲调用函数就可以了.

PHP编程6.delete()

PHP编程$model = M('WxuserCollection');$res = $model - >where('id=1') - >delete(); // 成功返回1 失败返回0

PHP编程根据条件进行删除操作

PHP编程PHP编程:thinkPHP数据库增删改查操作方法实例详解

PHP编程7.field()

PHP编程$model = M('WxuserCollection');$res = $model - >field('id,good_id as good') - >select();$res = $model - >field(array('id', 'good_id' = >'good')) - >select();$res = $model - >field('id', true) - >select();

PHP编程字符串,数组两种方式,第三个是表示获取处理id之外的所有字段.

PHP编程8.order()

PHP编程$model = M('WxuserCollection');$res = $model - >order('id desc') - >select();$res = $model - >order('id asc') - >select();$res = $model - >order(array('id' = >'desc')) - >select();$res = $model - >order(array('id')) - >select();

PHP编程字符串,数组两种方式,默认asc.

PHP编程9.join()

PHP编程$Model->join(' work ON artist.id = work.artist_id')->join('card ON artist.card_id = card.id')->select();$Model->join('RIGHT JOIN work ON artist.id = work.artist_id')->select();$Model->join(array(' work ON artist.id = work.artist_id','card ON artist.card_id = card.id'))->select();

PHP编程默认采用LEFT JOIN 方式,如果需要用其他的JOIN方式,可以改成第二种,

PHP编程如果join方法的参数用数组的话,只能使用一次join方法,并且不能和字符串方式混合使用.

PHP编程10.setInc()

PHP编程$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

PHP编程11.getField()

PHP编程获取某个字段值

PHP编程$User = M("User"); // 实例化User对象// 获取ID为3的用户的昵称$nickname = $User->where('id=3')->getField('nickname');

PHP编程返回的nickname是一个字符串结果.也就是说,即使有满足条件的多个字段,也只会返回一个结果.

PHP编程获取某个字段列

PHP编程如果希望返回符合要求的字段列(多个结果),可以使用:

PHP编程$User = M("User"); // 实例化User对象// 获取status为1的用户的昵称列表$nickname = $User->where('status=1')->getField('nickname',true);

PHP编程第二个参数传入了true,返回的nickname则是一个数组,包含了所有满足条件的昵称列表.

PHP编程如果需要限制返回结果数量,可以使用:

PHP编程$nickname = $User->where('status=1')->getField('nickname',8);

PHP编程获取2个字段列表

PHP编程$User = M("User"); // 实例化User对象 // 获取status为1的用户的昵称列表$nickname = $User->where('status=1')->getField('id,nickname');

PHP编程如果getField方法传入多个字段名称的话,默认返回一个关联数组,以第一个字段的值为索引(所以第一个字段要尽量选择不会重复的).

PHP编程获取多个字段列表

PHP编程$result = $User->where('status=1')->getField('id,account,nickname');

PHP编程如果传入了2个以上的字段名,则返回一个二维数组(类似select方法的返回值,区别在于索引是二维数组的键名是第一个字段的值)

PHP编程综合使用案例

PHP编程$where = array('a.store_id' => $this->store_id, 'a.user_id' => $this->user_id);$collects = $this->collectModel->table("sh_wxuser_collection a")->field(array('b.name','b.price','b.oprice','b.logoimg','a.goods_id'))->limit($start, $offset)->order('a.addtime DESC')->where($where)->join(' sh_goods b ON a.goods_id = b.id')->select();// 获取当前页的记录echo M()->getLastSql(); // 调试sql语句用$count = $this->collectModel->table("sh_wxuser_collection a")->where($where)->count(); // 获取总的记录数

PHP编程这里由于结合了两张表,所以用到了table方法,重新定义表名,相应的条件和参数都要加上前缀.a. 或者b.

PHP编程其中field字段要么是一个字符串,要么是数组.

PHP编程field('b.name', 'b.price', 'b.oprice', 'b.logoimg', 'a.goods_id') // 错误

PHP编程我之前就这么写,问题大大的.

PHP编程使用框架,就不能灵活的写sql了.不过对sql有一个深刻的认识,也有利于灵活的使用好框架.

PHP编程用于调试sql语句的方法.

PHP编程echo M()->getLastSql();

PHP编程很方便.

PHP编程更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》.



希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, LeCMS, ClassCMS, Fastadmin, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部