查询在MYSQL中工作,但在MYSQL中不工作

查询在MYSQL中工作,但在MYSQL中不工作,mysql,mysqli,Mysql,Mysqli,我的查询在MYSQL中工作,但在MYSQLI中不工作 我正在挑选做过前后测试的学生 SELECT studid as Username, prepoints as 'Fitness Assessment Points Grade', end AS 'End-of-Line Indicator' FROM fittest, points WHERE YEAR(submitted) = '2017' AND semester = 'summer2' G

我的查询在MYSQL中工作,但在MYSQLI中不工作

我正在挑选做过前后测试的学生

 SELECT 
  studid as Username, 
  prepoints as 'Fitness Assessment Points Grade', 
  end AS 'End-of-Line Indicator' 
 FROM 
  fittest, points 
 WHERE
  YEAR(submitted) = '2017' 
  AND semester = 'summer2' 
 GROUP BY studid
 HAVING 
  (MAX(prepost = 'pre' ) + MAX(prepost = 'post')) = 2 AND COUNT(DISTINCT prepost) = 2
你知道需要做什么改变才能让它重新工作吗

以下是一些示例数据:

 CREATE TABLE `fittest` (   `id` int(11) NOT NULL,   `submitted`
 datetime DEFAULT NULL,   `studid` varchar(100) DEFAULT NULL,  
 `semester` varchar(50) DEFAULT NULL,   `instructor` varchar(30)
 DEFAULT NULL,   `course` enum('PHED 1164') DEFAULT NULL,   `section`
 enum('5001','5003','5005','5007','5009','5011','5013','5015','5017','5019','5021','5023','5025','5027','5029','5031','5033','5035','5037','5039','5041','5043','5045','5047','5049','5051','5053','5055','5057','5059','5061','5063','5065','5067','5069')
 DEFAULT NULL,   `age` varchar(50) DEFAULT NULL,   `gender`
 enum('m','f') DEFAULT NULL,   `ethnicity` enum('Hispanic','African
 American','Asian','White-Non Hispanic','Other') DEFAULT NULL,  
 `height` char(4) DEFAULT NULL,   `weight` int(3) DEFAULT NULL,  
 `flexibility` int(2) DEFAULT NULL,   `crunches` int(3) DEFAULT NULL,  
 `pushups` int(3) DEFAULT NULL,   `treadtimemin` int(2) DEFAULT NULL,  
 `treadtimesec` int(2) NOT NULL,   `treadhr` int(3) DEFAULT NULL,  
 `prepost` enum('pre','post') NOT NULL,   `end` char(1) NOT NULL
 DEFAULT '#' ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 INSERT INTO `fittest` (`id`, `submitted`, `studid`, `semester`,
 `instructor`, `course`, `section`, `age`, `gender`, `ethnicity`,
 `height`, `weight`, `flexibility`, `crunches`, `pushups`,
 `treadtimemin`, `treadtimesec`, `treadhr`, `prepost`, `end`) VALUES
 (17, '2017-01-02 21:55:33', 'slacker', 'spring', 'Tim', 'PHED 1164',
 '5001', '32', 'm', NULL, '69.5', 155, NULL, 29, 34, 22, 15, 76, 'pre',
 '#'), (16, '2017-01-02 21:31:34', 'bfun', 'spring', 'Tim', 'PHED
 1164', '5001', '32', 'm', NULL, '69.5', 122, NULL, 37, 36, 18, 14, 76,
 'post', '#'), (15, '2017-01-02 21:31:09', 'bfun', 'spring', 'Tim',
 'PHED 1164', '5001', '32', 'm', NULL, '69.5', 129, NULL, 21, 20, 23,
 14, 76, 'pre', '#'),

我刚发现问题不在查询上。这是有输入的。所有输入都有post作为prepost值,因此没有显示任何结果。谢谢你的帮助。

如果你的高度字段是
CHAR(4)
我真的很担心。是否包含
6'2之类的值“
?一般来说,最好用一个单位来表达某种东西,比如英寸或毫米。另外,尽量避免在新应用程序中使用MyISAM,InnoDB的性能要好得多。
mysqli
只是MySQL的一个接口,与PDO一样。现在还不清楚这里出了什么问题,你还没有解释什么,如果你有任何错误的话。“不工作”是您可能给出的最不有用的诊断之一。高度包含“69.5”等英寸值。我刚刚发现问题不在于查询。这是有输入的。所有输入都有post作为prepost值,因此没有显示任何结果。谢谢你的帮助。很好的提示,谢谢!