Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 返回queryfetch和输出特定行_Php_Mysql - Fatal编程技术网

Php 返回queryfetch和输出特定行

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

我想做的是: 从函数返回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 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;
   }
}