我想做什么: 从函数返回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'],同样也用于攻击。 这样做的最佳方式是什么?
答案 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需要帮助吗?