dongtui8593 2017-07-18 19:32
浏览 14
已采纳

PHP / MYSQL返回获取的值以便稍后检索

I have a function that contains a prepared statement fetching data from a MYSQL db. I would like to know how to "return" the data so I can use it outside the function and wherever the function is called.

Here is my example (Not Working):

function dbGet($table, $userId) {
   require_once('../php/connect.php');
   if ( $stmt = $db->prepare(" SELECT * FROM `" . $table . "` WHERE id=? ")) {
      $stmt->bind_param("i", $userId);
      $stmt->execute();
      $result = $stmt->get_result();
      $rowNum = $result->num_rows;

      if ( $rowNum > 0 ) {
         if ($user = $result->fetch_assoc()){
            return $user;
         }
      }
      $stmt->close();
   } else {
      die($db->error);
   }
   $db->close();
}

Then in another page I would like to do something like this:

dbGet('users', 23);
$user->email; //To retrieve this user's email
  • 写回答

1条回答 默认 最新

  • dongsi7759 2017-07-18 19:54
    关注

    First if you want an object returned from the function you need to return an object from the function and not an array so change ->fetch_assoc() to ->fetch_object()

    Next you need a variable to put the data returned from the function into

    function dbGet($table, $userId) {
       require_once('../php/connect.php');
       if ( $stmt = $db->prepare(" SELECT * FROM `" . $table . "` WHERE id=? ")) {
          $stmt->bind_param("i", $userId);
          $stmt->execute();
          $result = $stmt->get_result();
          $rowNum = $result->num_rows;
    
          if ( $rowNum > 0 ) {
            // return an object not an array
             if ($user = $result->fetch_object()){
                return $user;
             }
          }
          $stmt->close();
       } else {
          die($db->error);
       }
       $db->close();
    }
    
    
    // create the $user variable to hold the retuned info (an object)
    $user = dbGet('users', 23);
    echo $user->email; //To retrieve this user's email
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法