首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL命令不会调用特定的查询

SQL命令不会调用特定的查询
EN

Stack Overflow用户
提问于 2011-10-27 20:20:17
回答 1查看 87关注 0票数 1

我有2个表,一个是回复,第二个是添加的朋友。这两个表都有朋友(接收者)和回复发帖的ids字段。我在receiver_id和added_friend上内部连接这些表,其中'friends‘中的用户名是$_SESSION'user'。我在查询后收到的只是回复(双方都能看到),不能查询回复(双方都看不到对方的回复),这是为什么呢?代码似乎logical...Thanks了很多。

代码语言:javascript
复制
   CREATE TABLE IF NOT EXISTS `friends` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(128) character set utf8 NOT NULL,
  `added_friend` varchar(128) character set utf8 NOT NULL,
  `friendname` varchar(128) character set utf8 NOT NULL,
  PRIMARY KEY  (`id`)
  ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;

   --

  CREATE TABLE IF NOT EXISTS `reply` (
  `rep_id` int(11) NOT NULL auto_increment,
  `reply_comm` text character set utf8 NOT NULL,
  `reply_poster` varchar(128) character set utf8 NOT NULL,
  `reply_poster_id` int(11) NOT NULL,
  `receiver_name` varchar(128) character set utf8 NOT NULL,
  `receiver_id` int(11) NOT NULL,
  `reply_date` date default NULL,
  PRIMARY KEY  (`rep_id`)
  ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;    

结构看起来像这样:

表'friends‘:

代码语言:javascript
复制
          username | added_friend
          =====================
          mike     | 10
          rob      | 20

表‘回复’:

代码语言:javascript
复制
          reply_poster | receiver_id
          =========================
          mike     | 20
          rob      | 10  <- added friend id

PHP SQL命令如下所示:

代码语言:javascript
复制
        $repcheck2 = mysqli_query($connect,"SELECT * FROM reply INNER JOIN friends ON  
        receiver_id  = added_friend  WHERE username = '".$_SESSION['user']."' ORDER BY rep_id  
        DESC ");

因此,双方在登录($_SESSION‘’user‘)时都应该看到回复和帖子,但只有他们自己的帖子回复/评论才能看到回复。非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2011-10-27 20:49:00

首先,我会观察如何将原始会话数据放入这样的查询中。它需要在进入数据库之前进行清理,以防止MYSQL注入。

另外,就我个人而言,我会这样查询:

代码语言:javascript
复制
SELECT * FROM `reply`, `friends` WHERE `friends`.`receiver_id`=`reply`.`added_friend` AND `friends`.`username`='".$_SESSION['user']."' ORDER BY `replies`.`rep_id` DESC

它比内部连接和歧义的可能性更容易理解(即在每个字段上没有提到特定的表名)。

不确定这是否能解决您的问题,但我们会看到的。

如果没有,你能告诉我它的输出是什么吗?也就是说,它是否从数据库中输出任何行,或者任何错误?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7915737

复制
相关文章

相似问题

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