【问题标题】:db fetch array drupal 7数据库获取数组drupal 7
【发布时间】:2013-09-10 20:19:26
【问题描述】:

我遇到了从 drupal 6 迁移到 7 网站的问题。我是 PHP 和 MySQL 的初学者,我找不到解决问题的方法。

我正在努力的代码如下:

$sql = "select ID_Speler from TB_Spelers where uid = ".$id;
$row = db_fetch_array(db_query($sql));
$speler = $row['ID_Speler'];

我总是收到“调用未定义函数 db_​​fetch_array()”

非常感谢任何帮助。

【问题讨论】:

标签: php mysql drupal drupal-7


【解决方案1】:

在 Drupal 7 中使用它:

$query = db_select('field_data_field_order_no', 'fdfon');
$query->addField('fdfon', 'entity_id', 'nid');
$query->addField('fdfnt', 'field_notification_type_value', 'type');
$query->join('field_data_field_notification_type', 'fdfnt', 'fdfon.entity_id = fdfnt.entity_id AND (fdfon.bundle = :fdfon_bundle AND fdfnt.bundle = :fdfnt_bundle)', array(':fdfon_bundle' => "order_notification_type", ':fdfnt_bundle' => "order_notification_type"));
$query->condition('fdfon.field_order_no_value', $order_id)->orderBy('fdfnt.entity_id', 'asc');

$result = $query->execute();

while ($records = $result->fetchAssoc()) {
    ...
}

【讨论】:

    【解决方案2】:

    Drupal 7 中没有 db_fetch_array(),(几乎)等效的代码是

    $sql = "select ID_Speler from TB_Spelers where uid = :uid";
    $args = array(':uid' => $uid);
    $row = db_query($sql, $args)->fetchObject();
    $speler = $row->ID_Speler;
    

    请参阅Database API docs 了解更多信息。

    【讨论】:

      【解决方案3】:

      这样试试:

       $sql = "select ID_Speler from TB_Spelers where uid = %d";
       $query = db_query($sql, $id);
       while ($records = db_fetch_array($query)) {
         $spelers[] = $records['ID_Speler'];
       }
       print_r($spelers);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-30
        相关资源
        最近更新 更多