返回queryfetch并输出特定的行

时间:2013-12-21 19:19:43

标签: php mysql

我想做什么: 从函数返回queryfetch,并根据其“名称”从特定的tablerow输出内容。

The database:
Rownames     Input1     Input2
id           1          2
name         defense    attack
value        10         15

我目前正在使用的功能是:

public function stat_query($stat_name, $user_id = null) 
{
$core = db_core::getInstance();
$query = $core->conn->query("SELECT user_stats.value as value FROM user_stats INNER JOIN stats ON user_stats.stat_id = stats.id WHERE user_stats.user_id = ".$this->get_user($user_id) AND stats.name = '".$stat_name."'");
$value = $query->fetch(PDO::FETCH_ASSOC);
return $value;
}

现在使用上面的功能,我每次需要统计时都必须查询数据库。但我想查询数据库一次并存储它,以便我可以调用特定的统计数据。

说我想输出防御;我输出$ storedquery ['defense'],同样也用于攻击。 这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:0)

如果要在同一执行中多次使用它,请创建一个全局变量,将其设置为false。

然后将功能更改为:

public function stat_query($stat_name, $user_id = null) 
{
   if($yourGlobalVar){
      return $yourGlobalVar;
   else{
      $core = db_core::getInstance();
      $query = $core->conn->query("SELECT user_stats.value as value FROM user_stats INNER JOIN stats ON user_stats.stat_id = stats.id WHERE user_stats.user_id = ".$this->get_user($user_id) AND stats.name = '".$stat_name."'");
      $value = $query->fetch(PDO::FETCH_ASSOC);
      return $value;
   }
}

如果要在会话期间保存它,请使用SESSION。使用SESSION需要帮助吗?

相关问题