(散列)符号在Joomla中的用途是什么?

(散列)符号在Joomla中的用途是什么?,joomla,Joomla,在joomla MVC中,我遇到了这个SQL查询。我无法理解签名的目的 INSERT INTO `#__helloworld` (`greeting`) VALUES ('Hello World!'), ('Good bye World!'); 它在运行时将替换为该安装的前缀。通过这种方式,可以在同一数据库中运行多个Joomla安装,只要它们都有不同的前缀。您可以在全局设置和configuration.php文件中找到安装的前缀 整个#uuuuuu零件是更换件正常工作所必需的。

在joomla MVC中,我遇到了这个SQL查询。我无法理解签名的目的

INSERT INTO `#__helloworld` (`greeting`) VALUES
    ('Hello World!'),
    ('Good bye World!');

它在运行时将替换为该安装的前缀。通过这种方式,可以在同一数据库中运行多个Joomla安装,只要它们都有不同的前缀。您可以在全局设置和configuration.php文件中找到安装的前缀

整个
#uuuuuu
零件是更换件正常工作所必需的。因此,仅仅是一个
#
将无法按预期工作


*请注意,这是一个特定于Joomla的构造,因此不要期望它仅适用于PHP/MySQL。它适用于所有Joomla版本,强烈建议使用。

正如您所知,Joomla数据库表有一个随机的4或5个字符的lentgh表前缀。这是为了提高安全性。Joomla是一个开源内容管理系统,因此恶意攻击者知道存在哪些表。您无法更改表名(或者这将花费太长时间),因此为表名添加前缀是一个不错的解决方案

处理代码时,表名的一部分将替换为在安装joomla时定义的表前缀。您还可以在configuration.php或管理员面板中看到表前缀

按照全局配置->服务器->数据库顺序进行操作。

\p>\uuuuu在执行查询之前用表前缀(在配置中定义)替换


我敢打赌这是joomla的事情,用所有joomla相关的表来保持“名称空间”,你的意思是说joomla将在执行查询之前用前缀替换#uu。