如何访问Drupal 7$数据库变量?
我在node.tpl.php和page.tpl.php中编写了一些php/mysql查询如何访问Drupal 7$数据库变量?,drupal,drupal-7,Drupal,Drupal 7,我在node.tpl.php和page.tpl.php中编写了一些php/mysql查询 <?php include("sites/default/settings.php") ?> 这些页面用于连接MySQL的用户名和密码在文件中指定 我不想这样做,而是希望能够使用Drupal的settings.php文件中定义的MySQL连接设置 我正在尝试,但没有成功地将settings.php文件包含到node.tpl.php和page.tpl.php中 <?php include
<?php include("sites/default/settings.php") ?>
这些页面用于连接MySQL的用户名和密码在文件中指定
我不想这样做,而是希望能够使用Drupal的settings.php文件中定义的MySQL连接设置
我正在尝试,但没有成功地将settings.php文件包含到node.tpl.php和page.tpl.php中
<?php include("sites/default/settings.php") ?>
$databases数组具有以下结构:
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'sdnndr',
'username' => 'root',
'password' => '',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
),
);
我的方法行不通。有人能提出建议吗?让我数一数你做错这件事的方式。您不能将查询写入模板。从不因为如果你以后再改变外表,你就会失去逻辑。将它们放在它们所属的模块中。您不需要包括设置,它已经包括在内。您不编写MySQL查询是因为它们不安全,而是使用它来鼓励(在某些情况下甚至强制)安全性。让我看看您的错误做法。您不能将查询写入模板。从不因为如果你以后再改变外表,你就会失去逻辑。将它们放在它们所属的模块中。您不需要包括设置,它已经包括在内。您编写MySQL查询不是因为它们不安全,而是使用了鼓励(在某些情况下甚至强制)安全性的方法。以及chx所说的方法
让我数一数你做错这件事的方式。您不能将查询写入模板。从不您不包括设置,它已经包括在内。您不需要编写您使用的MySQL查询 在主题的template.php文件中,您可以访问page.tpl.php的大部分变量。使用
hook_preprocess(&$variables, $hook);
然后转储或dsm($variables);(必须安装devel模块)
如果确实需要查询数据库,请创建一个小模块,并在.module文件中使用drupal函数查询数据库。此外,您不必担心连接到数据库,这是在引导过程中完成的。以及chx所说的
让我数一数你做错这件事的方式。您不能将查询写入模板。从不您不包括设置,它已经包括在内。您不需要编写您使用的MySQL查询 在主题的template.php文件中,您可以访问page.tpl.php的大部分变量。使用
hook_preprocess(&$variables, $hook);
然后转储或dsm($variables);(必须安装devel模块)
如果确实需要查询数据库,请创建一个小模块,并在.module文件中使用drupal函数查询数据库。此外,您不必担心连接到数据库的问题,这是在引导过程中完成的。如果您真的建议做什么,而不仅仅是批评,这可能会很有用。但是,是的,所有这些都是正确的。鉴于没有实际问题需要解决,除了指出Drupal的数据库API之外,我怎么能建议一个更合适的解决方案呢?你没有解释为什么它不好,也没有给出改为做什么的指示。没有什么比找到一个适用于您的用例的问题更令人沮丧的了,但是答案几乎没有给出任何澄清。给出一个链接是很好的,但是对于一个没有什么经验的人来说(尤其是考虑到它的Drupal),这几乎是无用的。当然,我可以看出,你可能不想花费不必要的时间对你的答案进行深入的解释,但仅仅一点指导可能非常有助于指出一些正确的方向。如果你真的建议做什么,而不仅仅是批评,这可能会很有用。但是,是的,所有这些都是正确的。鉴于没有实际问题需要解决,除了指出Drupal的数据库API之外,我怎么能建议一个更合适的解决方案呢?你没有解释为什么它不好,也没有给出改为做什么的指示。没有什么比找到一个适用于您的用例的问题更令人沮丧的了,但是答案几乎没有给出任何澄清。给出一个链接是很好的,但是对于一个没有什么经验的人来说(尤其是考虑到它的Drupal),这几乎是无用的。当然,我可以看出,您可能不想花不必要的时间对您的答案进行深入的解释,但仅仅一点指导可能会非常有助于为一些人指明正确的方向。