首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用mysql数据库和slim 3 PHP框架在同一函数中执行2个查询

如何使用mysql数据库和slim 3 PHP框架在同一函数中执行2个查询
EN

Stack Overflow用户
提问于 2017-06-06 08:10:06
回答 1查看 58关注 0票数 2

我正在尝试检索ios应用程序中的好友请求的用户,并将他们返回到应用程序中的好友请求列表中。为此,我使用了一个PHP函数,该函数在通知表中查询发送通知的user_id,然后返回所有与特定通知类型匹配并标记为未读的行。然后,我想查询我的用户表,并将发送请求的用户返回到这个特定的user_id。下面是我构建的代码:

代码语言:javascript
复制
function getSquadRequests($req, $res) {
   global $db;

   $user_id = validateUserAuthentication($req);

   if ($user_id) {
       $query = $db->prepare(
         'SELECT * 
          FROM tblNotification 
          WHERE notification_to_id   = :user_id 
            AND notification_type    = 3 
            AND notification_is_read = 0
         ');

       $query->bindParam(':user_id', $user_id);

       if ($query->execute()) {
           $user = $query->fetch(PDO::FETCH_NAMED);

           // if user exist
           if ($user) {
               $query = $db->prepare(
                   'select * from tblUser where user_id = :not_from_id'
               );
               $query->bindParam(':not_from_id', $user['notification_from_id']);

               if ($query->execute()) {
                   $data = $query->fetchAll(PDO::FETCH_ASSOC);
               }

               $newRes = makeResultResponseWithObject($res, 200, $data);

           }
       } else {
           $newRes = makeResultResponseWithString(
               $res, 400, $query->errorInfo()[2]
           );
   }

   return $newRes;
}
EN

回答 1

Stack Overflow用户

发布于 2018-04-06 15:36:06

如果我没理解错的话,那么您的问题只是一个sql问题,这个查询应该返回预期的用户:

代码语言:javascript
复制
SELECT u.* 
FROM tblUser AS u
    LEFT JOIN tblNotification AS n 
    ON u.user_id = n.notification_from_id
WHERE n.notification_to_id    = :user_id
  AND n.notification_type     = 3 
  AND n.notification_is_read  = 0
  AND n.notification_from_id <> :not_from_id
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44379519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档