Php 查询不返回结果?
可能重复:Php 查询不返回结果?,php,mysql,Php,Mysql,可能重复: 我有: $connector = new DBconnector(); $sql = "SELECT school.name, student-.ClassSize_7, student-.ClassSize_8, degree_o.degree_code, accredit.full_faculty_3, accredit.total_faculty_3, accredit.pc_terminal, accredit.stud_fac_ratio, fresh_
我有:
$connector = new DBconnector();
$sql = "SELECT school.name, student-.ClassSize_7, student-.ClassSize_8, degree_o.degree_code, accredit.full_faculty_3,
accredit.total_faculty_3, accredit.pc_terminal, accredit.stud_fac_ratio, fresh_en.num_appl_offered, fresh_en.num_appl_received FROM school
INNER JOIN student- ON school.scid = student-.scid
INNER JOIN degree_o ON school.scid = degree_o.scid
INNER JOIN accredit ON school.scid = accredit.scid
INNER JOIN fresh_en ON school.scid = fresh_en.scid
ORDER BY school.name ASC LIMIT 0, 25";
$result = $connector->query($sql);
//$numberRows = $connector->numRows($result);
$numRows = mysql_num_fields($result);
我的查询没有返回任何结果,我得到如下警告:
Warning: mysql_num_fields() expects parameter 1 to be resource, boolean given in C:\wamp\www\...\academics.php on line 17
及
我不知道为什么,有人能帮我把你所有的专栏都用反勾号括起来吗
`student-`.`ClassSize_8`
因为-
在您的列名中
建议:将表名从
student-
更改为student
您需要从列表中完成
$sql = "... fresh_en.num_appl_received FROM school,student-, degree_o,accredit ,fresh_en
INNER JOIN ...";
你的询问有问题。尝试在phpmyadmin中运行它(如果您有可用的话)。胡乱猜测:MySQL正在抱怨表名“student-”。您对这段代码有什么期望?为什么不使用注释行//$numberRows=$connector->numRows($result);查看建议的备选方案:不鼓励使用此扩展。相反,应该使用MySQLi或PDO_MySQL扩展。有关更多信息,请参见MySQL:选择API指南和相关常见问题解答。此功能的替代选项包括:
student-
?这是什么样的表名?当我这样写的时候,我有一个类似这样的错误:#1109-字段列表中的未知表'school'您是否也回勾了表名?是的。实际上,您的表名非常奇怪,而且不标准。因此,勾选“tablename
”columnname`以及反勾所有`tablename
`您是否同意将表student改为only student可能更好?显然是的。你应该这样做。并对所有表保持相同的命名约定。。。
$sql = "... fresh_en.num_appl_received FROM school,student-, degree_o,accredit ,fresh_en
INNER JOIN ...";