php - WHMCS,我怎样才能只运行一次代码

标签 php mysql whmcs

我创建了一些挂接到多个 WHMCS Hook 上的函数。我的一些函数需要成为我为我的功能创建的数据库中的新表。

我喜欢做的是以编程方式将表创建到数据库中,但仅运行生成表的代码一次,并且不再运行该代码。

有什么方法或好主意可以做到这一点吗?

最佳答案

在我创建的 WHMCS 模块中,我使用以下逻辑:

if(!mysql_num_rows(mysql_query("SHOW TABLES LIKE 'modulename_%'"))) {

    // there are no tables in the database for our module so we need to create them

}

然后我使用以下命令创建数据库:

$createTable[] = 'CREATE TABLE IF NOT EXISTS `modulename_table` ( `id` int(11) NOT NULL auto_increment, PRIMARY KEY  (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;';

我有很多这样的东西,然后我会循环运行它们:

$createTableCount = 0;
for($s=0,$e=count($createTable); $s<$e; $s++){
       $query = mysql_query($createTable[$s]);
       if($query)
            $createTableCount++;
}

然后我将每一列添加到表中:

$alterTable[] = 'ALTER TABLE `modulename_table` ADD `something` int(11) NOT NULL;';

我还运行了一个循环 - 这允许我添加新的列/表并重新运行安装脚本并添加任何尚不存在的列/表。

关于php - WHMCS,我怎样才能只运行一次代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8501989/

相关文章:

php - 什么是客户端准备好的语句?

c++ - 包含 MySQLStore.h 但 HAVE_MYSQL 未定义错误(quickfix VS2015 c++)

csrf - WHMCS 无效 Csrf 保护 token 错误

mysql - SQL 查询返回伪造的重复结果?

php - WHMCS本地API的AddOrder问题

php - html容器滚动错误

php - Artisan::call ('migrate' ) 将 Laravel 升级到 4.2 后无法正常工作

php - 使用 PHP 连接 MSSQL

php - 即使在 codeigniter 中 db 的主机名错误,也继续执行

c++ - 如何从 MySQL Connector/C++ 获取 native C API 连接结构?