db_query不应该返回一行

时间:2013-06-21 20:56:17

标签: drupal drupal-7

我正在尝试检查搜索查询是否是drupal 7中的邮政编码

  $input = filter_var(urldecode(((isset($vars["view"]->exposed_input))? $vars["view"]->exposed_input["distance"]["postal_code"] : $vars["view"]->exposed_raw_input["distance"]["postal_code"])), FILTER_SANITIZE_STRING);
  if($result = db_query("SELECT zip, city, state, country FROM zipcodes WHERE zip = :zip", array(":zip" => $input))) {
    if($result->rowCount() > 0) {
         //get city state and country
    } else {
         //input is not a zip code
    }
  }

问题是,当我将输入设置为非邮政编码时,它仍会返回一行,其中zip字段设置为输入,城市状态和国家为空

我可以检查城市州和国家是否一无所获,但我希望它能正常运作

有没有人知道为什么当数据库中没有一行时它会返回一行?

1 个答案:

答案 0 :(得分:-1)

这是因为在我检查行数之前,drupal在数据库中创建了一个输入邮政编码的新行。