Php 返回queryfetch和输出特定行
我想做的是: 从函数返回queryfetch,并根据其“名称”从特定tablerow输出内容 我目前使用的功能是:Php 返回queryfetch和输出特定行,php,mysql,Php,Mysql,我想做的是: 从函数返回queryfetch,并根据其“名称”从特定tablerow输出内容 我目前使用的功能是: 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
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;
}
现在有了上面的函数,每当我需要一个stat时,我都必须查询数据库。但是我希望查询数据库一次并存储它,以便以后可以调用特定的stat
说我要输出防御;我会输出$storedquery['defense',攻击也是如此。
执行此操作的最佳方法是什么?如果要在同一执行中多次使用它,请创建一个全局变量,将其设置为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;
}
}
如果要在会话期间保存,请使用会话。您在使用会话时需要帮助吗?我想您正在寻找fetchAll()?或者,如果您正在寻找存储,则可以在会话中存储值。($_会话)同意RobotRock的观点。如果您想在应用程序中存储任何内容以供以后使用,而您没有使用缓存。尝试会话,只是为了澄清;最好的方法是将数据存储在会话数组中吗?
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;
}
}