出于何种目的#(哈希)符号在Joomla中使用?

时间:2013-09-10 05:17:33

标签: joomla

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

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

3 个答案:

答案 0 :(得分:4)

运行时,它将替换为该安装的前缀。这样,只要它们都具有不同的前缀,您就可以在同一个数据库中运行多个Joomla安装。您可以在“全局设置”以及configuration.php文件中找到安装的前缀。

整个#__部分是替换正常工作所必需的。因此,只有#无法按预期工作。

*请注意,这是一个Joomla特定的构造,所以不要指望这只适用于PHP / MySQL。它适用于所有Joomla版本,强烈推荐。

答案 1 :(得分:2)

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

表名的

#__部分替换为在处理代码时安装joomla时已定义的表前缀。您还可以在configuration.php或管理员面板中查看表前缀

关注全局配置 - >服务器 - >数据库顺序。

答案 2 :(得分:1)

在执行查询

之前,

#__替换为表格前缀(在配置中定义)

Joomla and MySQL