当我在 drupal 中创建基本页面时,我选择了PHP 代码的文本格式。现在我可以在这里编写 PHP 代码了。
我想列出 MySQL 中的记录,如何在此处包含数据库连接?
这是在内容中编写 PHP 代码的好方法吗?
您可以直接调用drupal api函数,而无需在页面中db_query()
添加任何函数。dbconection
不建议在页面内添加 php 代码,尝试为此创建自己的模块或使用视图
第一:您不应该使用 PHP 输入格式。它的存在在 Drupal 中引起了激烈的争论,许多人倾向于完全删除它。这既是安全的噩梦,也是维护的恐怖。
也就是说,您正在寻找的 PHP 是:
<?php
// Create an object of type SelectQuery
$query = db_select('users', 'u');
// Add extra detail to this query object: a condition, fields and a range
$query->condition('u.uid', 0, '<>');
$query->fields('u', array('uid', 'name', 'status', 'created', 'access'));
$query->range(0, 50);
?>
有关动态查询的更多信息,请参见 Drupal.org。不需要设置你的数据库,Drupal 已经处理好了。
如果您希望您的代码连接到与主 Drupal 数据库不同的数据库,您可以将该数据库添加到您的 settings.php:
$databases['gallery']['gallery'] = array(
'driver' => 'mysql',
'database' => 'gallery',
'username' => 'username',
'password' => 'secret',
'host' => 'localhost',
);
这引入了一个使用数据库“gallery”的称为“gallery”的新数据库资源。当您想要使用来自另一个数据库的资源时很有用,例如来自“图库应用程序”的记录。
$options
然后,您可以使用-parameter中的键查询该数据库,如下所示:
<?php
// Create an object of type SelectQuery
$query = db_select('pictures', 'p', array('target' => 'gallery'));
// Add extra detail to this query object: a condition, fields and a range
$query->condition('p.status', 'published', '=');
$query->fields('p', array('path', 'title', 'date'));
$query->range(0, 50);
?>