二次开发mysql数据反推_Discuz二次开发之数据库操作

二次开发mysql数据反推_Discuz二次开发之数据库操作一、discuz数据操作之查:1、fetch_allDB::fetch_all(sql,$arg=array());//取出符合条件的所有数据sql为查询语句,$arg为绑定参数例:$result=DB::fetch_all(‘SELECT*FROM%t’,array(‘table_name’));$result为二维数组2、fetch_firstDB::fetch_first(s…

大家好,又见面了,我是你们的朋友全栈君。

一、discuz数据操作之查:

1、fetch_all

DB::fetch_all(sql, $arg = array());//取出符合条件的所有数据

sql为查询语句,$arg为绑定参数

例:$result = DB::fetch_all(‘SELECT * FROM %t’,array(‘table_name’));

$result为二维数组

2、fetch_first

DB::fetch_first(sql, $arg = array());//取出符合条件的第一条数据

例:$result = DB::fetch_first(‘SELECT * FROM %t ‘, array(‘table_name’));

$result为一维数组

二、discuz数据操作之增:

DB::insert(参数一,参数二,参数三);

/*

参数一:table_name

参数二:以对应数据表中的字段为key,具体数值为value组成的关联数组

参数三:是否返回该数据的id。true则返回具体id,false则不会返回id

*/

例:DB::insert(‘table_name’,[‘name’=>’张三’,’age’=>’18’,’sex’=>’男’],true);

三、discuz数据操作之改:

DB::update(参数一,参数二,参数三);

/*

参数一:table_name

参数二:以对应数据表中的字段为key,具体数值为value组成的关联数组

参数三:修改的where条件

*/

例:DB::update(‘table_name’,[‘name’=>’张三’,’age’=>’19’,’sex’=>’男’],’ id = 1 ‘);

四、discuz数据操作之删:

DB::delete(参数一,参数二);

/*

参数一:table_name

参数二:删除的where条件

*/

例:$sql = ‘id = ‘.$id;

DB::delete(‘table_name’,$sql);

以上是discuz的基本数据库操作。但实际开发中会对数据操作进行再封装,实际暴露的借口是用C::t()方法来进行数据操作

具体操作在source/class/table文件夹内创建一个文件

文件名为table_表名(注:是去掉表前缀的名字),例如:数据库中表名为pre_forum_post,那么该文件的名字为table_forum_post.php

例:

table_forum_design_list.php<?php /**

* [Discuz!] (C)2001-2099 Comsenz Inc.

* This is NOT a freeware, use is subject to license terms

*

* $Id: table_forum_access.php 27777 2012-02-14 07:07:26Z zhengqingpeng $*/

if(!defined(‘IN_DISCUZ’)) {exit(‘Access Denied’);

}class table_forum_design_list extendsdiscuz_table

{public function__construct() {$this->_table = ‘forum_design_list’;$this->_pk = ”;

parent::__construct();

}public functionget_all() {return DB::fetch_all(‘SELECT * FROM %t WHERE st != 0’, array($this->_table));

}public function insert($data)

{return DB::insert($this->_table,$data,true);

}public function delete($id)

{$sql = ‘id = ‘.$id;return DB::delete($this->_table,$sql);

}

}?>

//外部文件调用方式

$result = C::t(‘forum_design_list’)->get_all();$result = C::t(‘forum_design_list’)->insert($data);$result = C::t(‘forum_design_list’)->delete(1);

根据上面代码所见,所有的直接操作数据库的操作都会写在表对应的class文件里。

补充一点,如何执行原生sql语句。

DB::query(sql,$arg = array());

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144400.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 光棍节程序员闯关秀 writeup

    光棍节程序员闯关秀 writeup先放上题目网址→→https://1111.segmentfault.com/第1关ctrl+a~~第2关查看页面源代码,复制粘贴回车~~第3关用firebug抓包,或者火狐谷歌浏览器自带的开发者工具也可,就可以看见The-Key-Is:a87ff679a2f3e71d9181a67b7542122c把Key复制到URL上K=后面即可第4关观察密码规律,

    2022年7月17日
    15
  • 一文搞定7大流行后端框架:Spring、Netty、MyBatis、Hibernate、Dubbo…「建议收藏」

    一文搞定7大流行后端框架:Spring、Netty、MyBatis、Hibernate、Dubbo…「建议收藏」框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。因此构件库的大规模重用也需要框架。今天给大家分享49篇【后端编程框架】相关精选学习资…

    2022年5月1日
    59
  • 记一次固态硬盘数据恢复

    记一次固态硬盘数据恢复背景15年初的时候买过一个128G的固态硬盘,在自己的笔记本电脑上组了一个双硬盘(ssd+hdd),ssd作为系统盘。到今年也已经用了三年了。昨天上午的时候,电脑突然蓝屏报错,本来以为是一次简单的蓝屏故障,但是发现电脑重启之后,电脑报错找不到硬盘。当时心里一凉,难道硬盘寿终就寝了,但是硬盘坏了不重要,里面的数据还没有备份会比较可怕。赶快用一个winpe系统把电脑开起来,想看看数据是否还在。然…

    2022年9月20日
    1
  • 关于安装QCAT/QXDM异常的问题

    关于安装QCAT/QXDM异常的问题第一种情况安装之后报licenseerror原因:可能安装时出错;解决:卸载QXDM和QCAT之后,删除注册表的信息,删除C盘文件夹内容:注册表位置:HKEY_LOCAL_MACHINE\SOFTWARE\Qualcomm\QIKC盘内容位置:C:\ProgramData\Qualcomm\QIKC:\ProgramFiles(x86)\Qualcomm\QIKTool…

    2022年10月2日
    1
  • html设置背景图片自适应

    html设置背景图片自适应在网上找了很久,终于在一个百度问答里找到正确答案,记录下来,方便以后使用。在<body>中设置:<bodybackground=”images\bg.jpg”style=”background-repeat:no-repeat;background-size:100%100%;background-attachment:fixed;”>第一行是图片…

    2022年4月27日
    79
  • pycharm全家桶激活码2021年_通用破解码[通俗易懂]

    pycharm全家桶激活码2021年_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    157

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号