I have found another error in acidfree. I'm using the mysqli database driver. While visiting site in the admin interface with error messages activated i get this warning:

warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, array given in /usr/local/www/apache22/data/drupal/includes/database.mysqli.inc on line 214.

It is triggered in in acidfree/acidfree.install line 326:

db_result(db_fetch_array(db_query($query_update_4, 'acidfree'))) >= 3) {

db_result wants a mysqli_result object as parameter and not an array. This triggers a warning and also causes the function to always return false. Since this function seems to update my database layout, this might be part of some additional db Problems i have with acidfree. :/

Since i have no idea what the function does exactly i have no idea how to patch it myself. Maybe someone can educate me a bit or write a fix. Thanks.

Backtracing the error:

array(8) {
  [0]=>
  array(4) {
    ["file"]=>
    string(69) "/usr/local/www/apache22/data/drupal/modules/acidfree/acidfree.install"
    ["line"]=>
    int(326)
    ["function"]=>
    string(9) "db_result"
    ["args"]=>
    array(1) {
      [0]=>
      &array(1) {
        ["schema_version"]=>
        string(1) "2"
      }
    }
  }
  [1]=>
  array(4) {
    ["file"]=>
    string(55) "/usr/local/www/apache22/data/drupal/includes/module.inc"
    ["line"]=>
    int(229)
    ["args"]=>
    array(1) {
      [0]=>
      string(69) "/usr/local/www/apache22/data/drupal/modules/acidfree/acidfree.install"
    }
    ["function"]=>
    string(12) "include_once"
  }
  [2]=>
  array(4) {
    ["file"]=>
    string(56) "/usr/local/www/apache22/data/drupal/includes/install.inc"
    ["line"]=>
    int(26)
    ["function"]=>
    string(19) "module_load_install"
    ["args"]=>
    array(1) {
      [0]=>
      &string(8) "acidfree"
    }
  }
  [3]=>
  array(4) {
    ["file"]=>
    string(64) "/usr/local/www/apache22/data/drupal/modules/system/system.module"
    ["line"]=>
    int(1836)
    ["function"]=>
    string(19) "drupal_load_updates"
    ["args"]=>
    array(0) {
    }
  }
  [4]=>
  array(4) {
    ["file"]=>
    string(64) "/usr/local/www/apache22/data/drupal/modules/system/system.module"
    ["line"]=>
    int(365)
    ["function"]=>
    string(13) "system_status"
    ["args"]=>
    array(1) {
      [0]=>
      &bool(true)
    }
  }
  [5]=>
  array(2) {
    ["function"]=>
    string(22) "system_main_admin_page"
    ["args"]=>
    array(0) {
    }
  }
  [6]=>
  array(4) {
    ["file"]=>
    string(53) "/usr/local/www/apache22/data/drupal/includes/menu.inc"
    ["line"]=>
    int(418)
    ["function"]=>
    string(20) "call_user_func_array"
    ["args"]=>
    array(2) {
      [0]=>
      &string(22) "system_main_admin_page"
      [1]=>
      &array(0) {
      }
    }
  }
  [7]=>
  array(4) {
    ["file"]=>
    string(45) "/usr/local/www/apache22/data/drupal/index.php"
    ["line"]=>
    int(15)
    ["function"]=>
    string(27) "menu_execute_active_handler"
    ["args"]=>
    array(0) {
    }
  }
}

Comments

vhmauery’s picture

Title: mysqli db_query error » incorrect use of db_result in acidfree.install
Status: Active » Fixed

A fix has been committed to CVS.

vhmauery’s picture

Status: Fixed » Closed (fixed)