对discuz的代码分析学习(三)mysql驱动

一. 属性分析 
        1.tablepre :表名称前缀
        2.version : 数据库版本
        3.drivertype:驱动类型
        4.querynum:查询数
        5.curlink:当前连接
        6.link:存储连接资源
        7.config:配置项
        8.sqldebug:sql调试
        9.slaveid:不知道
       10.map: 不知道

二. 方法分析

1.db_mysql:配置驱动
        2.set_config:配置驱动
        3.connect:连接数据库
        4._dbconnect:  上一个方法的底层代码
        5.table_name:不知道
        6.select_db:选择数据库
        7.fetch_array:以数组的形式获取结果集
        8.result_first:从结果集中取得首条数据
        9.query:执行sql语句
       10.affected_rows:取得最近一次与 link_identifier 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。
       11.error:返回数据库错误信息
       12.errno:返回错误编号
       13.result:获取结果集中指定行数据
       14.num_rows:返回结果集中行的数目。
       15.num_fields:返回结果集中字段(列)的数目
       16.free_result:函数释放结果内存。如果成功,则返回 true,如果失败,则返回 false。
       17.insert_id:上一次插入的数据id
       18.fetch_row:以索引数组的形式获取结果集
       19.fetch_fields:mysql_fetch_field() 函数从结果集中取得列信息并作为对象返回。
       20.version:返回当前数据库版本
       21.escape_string:mysql_escape_string 该方法用来转义字符,在PHP5.3已被弃用

22.close:关闭连接
       23.halt  :抛出异常
       24.fetch_first :获取首条数据

时间: 2024-10-28 14:29:41

对discuz的代码分析学习(三)mysql驱动的相关文章

对discuz的代码分析学习(一)目录结构

主目录 DISCUZ用的是自己的框架,和其他框架应用一样属于单入口应用.主目录下的.php文件,大部分是应用的入口文件. home.php:家园入口,即论坛中类似博客的那个东西.index.php:首页文件,会根据用户设置的主页,决定跳转到哪个应用.userapp.php:用户应用,暂时不是很清楚是干嘛用的.plugin.php:插件入口,后台安装的插件,都会从这里进入使用.admin.php:后台入口protal.php:不知道干嘛用的search.php:搜索入口group.php:群组应用

对discuz的代码分析学习(二)首页文件

如果当前地址栏存在查询字符,并且是一个数字,条件成立. 查询字符:www.baidu.com/index.php?aaa=bbb              aaa=bbb就是查询字符如果条件成立,则把home赋值给$_ENV['curapp'] ;  $_ENV可以理解为类似于$_GET的超全局数组.这里的$_ENV['curapp']可以理解为选中的入口文件.并将一个数组传递给$_GET,数组的第一个成员指定了控制器名称,第二个成员制定了一个叫uid的参数,就是用户id. 如果这里的条件成立了

对discuz的代码分析学习(四)论坛入口文件

只是大致分析下执行流程,主要就是取得mod参数的值,根据取值加载控制器,控制器位置在最后一行指定了. 1 )定义应用名称,加载两个必要文件 define('APPTYPEID', 2); define('CURSCRIPT', 'forum'); require './source/class/class_core.php';//核心类 require './source/function/function_forum.php';//论坛函数库 2 )modarray数组限定了mod取值范围 $

Qt编译mysql驱动

Qt连接MySQL 分类: Qt 数据库 2013-02-27 20:57 1452人阅读 评论(0) 收藏 举报 一般情况下,qt只带了qsqlite4和qodbc两种驱动,如果在安装qt时,你没有添加qt -mysq参数,那么意味着,在你的程序中不能直接使用mysql数据库. 那么你就需要安装这个插件. 感谢jpzjpz提供的详细安装过程! 网址为:http://dev.wo.com.cn/bbs/viewthread.jsp?tid=140945&extra=page%3D1 我这里还是在

java mysql驱动

mysql驱动方式有三种, 1.第一种是先把jar包放在项目的目录下,通过添加jar包,是使用相对地址的,这样把项目复制到其它电脑也可以用 2.第二种方法是导入外部的jar包,是绝对地址,如果项目要复制到其它电脑又要重新导入 3.使用环境变量如何配置? --------------------- 参考文章:http://www.cnblogs.com/taoweiji/archive/2012/12/11/2812295.html --------------------------------

MySQL驱动阅读------Connection连接的建立,基于JDBC-----5.1.26

一般获取数据库连接的程序 Class.forName("com.mysql.jdbc.Driver"); final Connection connection = (Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/testDB","guoxiaoming","guoxiaoming"); -------------------------

django安装mysql驱动

django目前支持三种mysql驱动来进行mysql的链接 MySQLdb is a native driver that has been developed and supported for over a decade by Andy Dustman. mysqlclient is a fork of MySQLdb which notably supports Python 3 and can be used as a drop-in replacement for MySQLdb.

ranch分析学习(三)

接着上一篇继续研究 上一篇结尾的时候,我们谈到了连接,监听两个监督树,今天我们就来看看这两个监督树和他们的工作者都是干什么的,怎么实现的.文件编号接上篇. 6. ranch_acceptors_sup.erl 1 -module(ranch_acceptors_sup). 2 -behaviour(supervisor). 3 4 -export([start_link/4]). 5 -export([init/1]). 6 7 -spec start_link(ranch:ref(), non

windows10 下使用Pycharm2016 基于Anaconda3 Python3.6 安装Mysql驱动总结

本文记录:在PyCharm2016.3.3 中基于Anaconda3 Python3.6版本安装Python for Mysql驱动.尝试了安装Mysql-Connector成功,但是连接数据库时驱动有bug而失败:尝试安装MySQLdb,因Python版本兼容问题 失败.最终安装PyMysql成功.现将详细安装过程记录如下. 若不想折腾,且系统环境与我的一致,建议直接就安装PyMysql吧. 一,系统环境 windows10 64位,安装了Anaconda3 和PyCharm2016.3.3.