zblogphp插件开发中创建自定义数据表

admin2023-01-181584

数据表文件写法:(创建数据表,原则上必须以%pre%plugin_应用ID为开头命名表;)

usertable.php

<?php
$tysuer_Table='%pre%ytuser';    //定义数据表名
$tysuer_DataInfo=array(
    'ID'=>array('tc_id','integer','',0),
    'Uid'=>array('tc_uid','integer','',0),
    'Oid'=>array('tc_oid','string',255,''),
    'Price'=>array('tc_Price','integer','',0),
    'Vipendtime'=>array('tc_Vipendtime','integer','',0),
);

然后在插件的include.php文件内引用即可

include.php

<?php
DefinePluginFilter('Filter_Plugin_RegPage_RegSucceed');
#用户中心插件
include 'usertable.php';

创建表存用户数据

include.php

function YtUser_CreateTable(){
    global $zbp;
    $s=$zbp->db->sql->CreateTable($GLOBALS['tysuer_Table'],$GLOBALS['tysuer_DataInfo']);
    $zbp->db->QueryMulit($s);
    $s=$zbp->db->sql->CreateTable($GLOBALS['tyactivate_Table'],$GLOBALS['tyactivate_DataInfo']);
    $zbp->db->QueryMulit($s);
    $s=$zbp->db->sql->CreateTable($GLOBALS['typrepaid_Table'],$GLOBALS['typrepaid_DataInfo']);
    $zbp->db->QueryMulit($s);
    $s=$zbp->db->sql->CreateTable($GLOBALS['YtUser_buy_Table'],$GLOBALS['YtUser_buy_DataInfo']);
    $zbp->db->QueryMulit($s);
}

注意:

数据库
必须使用$zbp->db->xxx执行SQL语句;
涉及到表的时候必须用$table调用;
建表必须在$datainfo和$table内注册;
不使用$zbp->db->sql而自行拼接SQL语句,需同时支持MySQL和SQLite数据库;
不对系统的数据表的结构作任何修改。
不得使用MySQL的ORDER BY rand()

相关资料:

自定义数据库表

链式SQL调用

新建一个指定数据库的连接

网友评论