查看,添加和编辑数据库内容

时间:2014-11-19 16:07:28

标签: drupal

我刚开始使用Drupal,我想知道是否有一种简单的方法可以查看,添加或编辑自定义数据库中的数据。是否有允许我执行这些操作的教程/模块?

抱歉新手问题,我不知道该找什么......

2 个答案:

答案 0 :(得分:1)

这个问题可能更适合Drupal Answers社区。

连接自定义数据库

有一个很棒的教程,介绍如何将Drupal连接到一个名为How to connect to multiple databases within Drupal的独立自定义数据库。总之,可以通过将以下代码添加到settings.php文件中来实现。

<?php
  $databases = array();
  $databases['default']['default'] = array(
    // Drupal's database credentials go here
  );
  $databases['custom']['default'] = array(
    // Custom database credentials go here
  );
?>

访问自定义数据库

首先,通过在查询之前插入db_set_active('custom');告诉Drupal您正在访问自定义数据库。要切换回Drupal的默认数据库,请插入db_set_active();

要对数据库进行查询,请参阅Database Functions列表。虽然这些函数更倾向于Drupal的默认数据库,但您会发现某些函数可以在自定义数据库上运行。例如,对于简单的SELECT查询,您可能希望使用db_query

db_query用法:

<?php
  $uid = 1;
  $result = db_query('SELECT n.nid, n.title, n.created
  FROM {node} n WHERE n.uid = :uid', array(':uid' => $uid));
  // Fetch next row as a stdClass object.
  $record = $result->fetchObject();  
  // Fetch next row as an associative array.
  $record = $result->fetchAssoc();
  // Fetch data from specific column from next row
  // Defaults to first column if not specified as argument
  $data = $result->fetchColumn(1); // Grabs the title from the next row
  // Retrieve a single value
  $result->fetchField();
  // Retrieve all records into an indexed array of stdClass objects.
  $result->fetchAll();
  // Retrieve all records as stdObjects into an associative array 
  // keyed by the field in the result specified. 
  // (in this example, the title of the node)
  $result->fetchAllAssoc('title');
  // Retrieve a 2-column result set as an associative array of field 1 => field 2.
  $result->fetchAllKeyed();
  // Also good to note that you can specify which two fields to use
  // by specifying the column numbers for each field
  $result->fetchAllKeyed(0,2); // would be nid => created
  $result->fetchAllKeyed(1,0); // would be title => nid
  // Retrieve a 1-column result set as one single array.
  $result->fetchCol();
  // Column number can be specified otherwise defaults to first column
  $result->fetchCol($db_column_number);
  // Count the number of rows
  $result->rowCount();
?>

答案 1 :(得分:0)

您不清楚是否只需管理数据或在Drupal中编辑数据。如果需要管理数据,请使用前端。由于您使用的是Drupal,因此必须使用PHP。如果您不熟悉访问数据库,可以使用PHPMyAdmin http://www.phpmyadmin.net。如果您使用MAMP或XAMMP或其中一个类似软件包安装PHP,它可能已经包含在您的PHP发行版中,但您没有说。

在Drupal中查看,添加和编辑数据库数据需要阅读并理解Drupal数据库API https://www.drupal.org/developing/api/database