Php &引用;“我的网络”;带有sql子查询的函数

Php &引用;“我的网络”;带有sql子查询的函数,php,mysql,sql,Php,Mysql,Sql,对于一个sql查询,我需要一些帮助 这是我的基本用户数据库表 CREATE TABLE IF NOT EXISTS `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `email` varchar(100) NOT NULL, `pass` varchar(255) NOT NULL, `fname` varchar(50) NOT NULL, `lname` varchar(40) NOT NULL, `network`

对于一个sql查询,我需要一些帮助

这是我的基本用户数据库表

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `email` varchar(100) NOT NULL,
  `pass` varchar(255) NOT NULL,
  `fname` varchar(50) NOT NULL,
  `lname` varchar(40) NOT NULL, 
  `network` varchar(10) NOT NULL, 
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=27 ;
CREATE TABLE IF NOT EXISTS `topics` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `userid` varchar(100) NOT NULL,
  `title` varchar(255) NOT NULL,
  `body` text,
  `tags` varchar(256) NOT NULL,  
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
这是我的基本主题数据库表

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `email` varchar(100) NOT NULL,
  `pass` varchar(255) NOT NULL,
  `fname` varchar(50) NOT NULL,
  `lname` varchar(40) NOT NULL, 
  `network` varchar(10) NOT NULL, 
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=27 ;
CREATE TABLE IF NOT EXISTS `topics` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `userid` varchar(100) NOT NULL,
  `title` varchar(255) NOT NULL,
  `body` text,
  `tags` varchar(256) NOT NULL,  
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
我想做的是; i、 e.列出加入“哈佛”网络的用户的所有主题

你只需要一个简单的。加入userID上的表(属于
“哈佛”

或者使用
JOIN
关键字:

SELECT title,body
FROM topics
JOIN users ON userid = users.id
WHERE network = 'harvard'
你只需要一个简单的。加入userID上的表(属于
“哈佛”

或者使用
JOIN
关键字:

SELECT title,body
FROM topics
JOIN users ON userid = users.id
WHERE network = 'harvard'

我认为,这应该可以做到:

SELECT 
    title 
FROM 
    topics t
INNER JOIN
    users u ON t.userid=u.id 
WHERE 
    network='Harvard'

我认为,这应该可以做到:

SELECT 
    title 
FROM 
    topics t
INNER JOIN
    users u ON t.userid=u.id 
WHERE 
    network='Harvard'

我不太擅长sql子查询:/all failed我认为您不需要为此使用子查询。考虑到您没有明确将userid设置为外键,您似乎在查询和子查询之间的差异方面存在问题,并且您似乎难以编写相对基本的查询,我强烈建议您在使用SQL执行任何其他操作之前,找到一个通用的SQL教程并仔细阅读(甚至可能多次)。要补充@Jodaka所说的内容,您需要使用int,和
topics.userid
作为varchar-这只会引起问题。我不太擅长sql子查询:/all failed我认为您不需要为此使用子查询。考虑到您没有明确地将userid设置为外键,您似乎在查询和子查询之间的差异方面存在问题,您似乎很难编写一个相对基本的查询,我强烈建议您在使用SQL执行任何其他操作之前,先找到一个通用的SQL教程并阅读一遍(甚至可能多次)。要补充@Jodaka所说的内容,您需要使用int
user.id
,和
topics.userid
作为varchar-这只会引起问题。您可能需要
u.id=t.userid
。您可能需要
u.id=t.userid