我们知道codeigniter允许我们使用表的前缀,我们需要在database.php文件中定义前缀。但是,我想要做一些不同的事情。我有一个脚本和任何将要安装它的用户,安装页面将询问典型的配置设置,包括用户是否希望在表可以安装数据库之前使用任何前缀。我想将该前缀存储在设置表中,并希望从数据库(“设置”表)获取前缀,而不是在database.php中定义前缀。 WordPress的安装时间相同。任何时候,我们甚至可以随时在Wordpress中更改前缀。处理表前缀没有任何数据库配置文件
这样我的用户(谁是我的脚本的买家)谁可能不是程序员,他们应该能够随时轻松更改他们的表前缀通过管理员端。
我不希望他们更改配置文件的前缀。
如果我将在任何表中存储前缀,那么前缀也将应用于该表(以上情况设置表将成为prefix_settings),然后获取(通过查询)存储在设置表中的更新的前缀我需要知道什么是前缀,因为设置表也有该新的前缀:)
注意:这不仅限于Codeigniter。这是任何有数据库的网站的一般问题。我只是在CI的一个项目上工作,所以给出了CI如何处理前缀的例子。
其实我想要一个解决方案,其中前缀来自数据库。在我已经知道的CI场景中,需要在数据库文件中添加前缀或者我们可以通过代码设置。但我想从管理面板给这个选项。希望它是有道理的。 – 99Points
这就是为什么我提到你从admin获取db_prefix的原因,我以$ setting ['db_prefix'])为例。不过,我更详细地解释了我的答案。希望它能帮到你 –
所以在上面的场景中,用户设置表不会有任何前缀吗?如果我们必须更改前缀,我们将替换所有其他表的前缀,但设置表将没有前缀,因为我们需要该表来获取它自己的前缀。这个解决方案很好,但我想要一些像Wordpress的东西,我不知道他们是如何做的。他们都有相同的前缀表。即使是存有前缀值的那个。 – 99Points