在 joomla MVC 中,我遇到了这个 SQL 查询。我无法理解#sign 的目的??
INSERT INTO `#__helloworld` (`greeting`) VALUES
('Hello World!'),
('Good bye World!');
在 joomla MVC 中,我遇到了这个 SQL 查询。我无法理解#sign 的目的??
INSERT INTO `#__helloworld` (`greeting`) VALUES
('Hello World!'),
('Good bye World!');
它在运行时替换为该安装的前缀。这样,您可以在同一个数据库中运行多个 Joomla 安装,只要它们都有不同的前缀。您可以在全局设置以及 configuration.php 文件中找到安装的前缀。
整个#__
零件对于更换正常工作是必要的。所以只是 a#
不会按预期工作。
*请注意,这是一个 Joomla 特定的结构,所以不要指望它只适用于 PHP/MySQL。它适用于所有 Joomla 版本,强烈推荐。
如您所知,joomla 数据库表有一个随机的 4 或 5 个字符的 lentgh 表前缀。这是为了提高安全性。Joomla 是一个开源内容管理系统,因此恶意攻击者知道存在哪些表。您不能更改表名(否则会花费很长时间),因此为表名添加前缀是一个不错的解决方案。
#__
表名的一部分被替换为在处理代码时安装 joomla 时定义的表前缀。您还可以在 configuration.php 或管理员面板中查看表前缀
遵循全局配置 -> 服务器 -> 数据库顺序。
#__ 在执行查询之前替换为表前缀(在配置中定义)