php - 网页安装程序——数据库部署

标签 php mysql installation html

我的网站是用 PHP (Kohana) 和 MySQL 编写的。我想创建将运行所有环境测试的安装程序,并且对我来说最重要(也是最神秘)的是部署数据库。更重要的是,我想选择数据库中表的前缀并指定管理员的用户名和密码。你能给我一些提示吗?或者一些教程的链接?我试图用谷歌搜索,但当我搜索“PHP 网站安装程序”之类的术语时,我只找到了如何安装 PHP。

对我来说最重要的是部署带有用户定义表前缀的数据库的过程。我应该如何将数据库结构存储在文件中。我是否应该使用一些关键字作为前缀来命名表,例如:

%%prefix%%_tableName

__prefix__tableName

然后呢?使用正则表达式更改所有关键字?这是正确的方法还是更好的方法?

最佳答案

一种简单的方法是将 SQL 查询存储在 PHP 文件中,让 PHP 将前缀注入(inject)到 SQL 中并返回字符串。

比如,如果您的每个 CREATE TABLE 查询都有一个这样的 PHP 文件:

<?php
/** get_myTable.php **/
return <<<SQL
CREATE TABLE `{$prefix}myTable` ( ... )
SQL;
?>

您可以在主代码中执行此操作:

<?php
$prefix = 'dbprefix_';

$create_queries = array();
$create_queries[] = include('get_myTable.php');
$create_queries[] = include('get_otherTable.php');

foreach($create_queries as $_query) {
    mysql_query($_query) or trigger_error(mysql_error(), E_USER_WARNING);
}
?>

关于php - 网页安装程序——数据库部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1877632/

相关文章:

installation - 从命令 : ado dir 生成的列表中重新安装软件包

linux - 无法从 USB 安装 openSUSE 13.2 - linuxrc 启动

php - 类成员对 PHP 中另一个对象的引用

php - 使用 Codeigniter 更新 MySql 中的数据不起作用

mysql - 如何将mysql_real_escape_string()的结果插入到oracle数据库中?

php - Mysql 抛出查询错误但完成查询却很好 - 为什么?

java - 使用 install4j 打包的 org.apache.tools.tar.* 类时,如何在 Java 中处理 GNU 长文件名?

php - 何时使用 AJAX

PHP/PDO : Delete image on server

mysql - 为什么我的 MySQL 实例认为 "' ī"and "i"是相等的字符?