2012-06-25 283 views
0

Possible Duplicate:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select查询不返回结果?

我:

$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 

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\...\academics.php on line 96 

我不知道为什么,谁能帮我

+0

您的查询存在问题。尝试在phpmyadmin中运行它(如果有的话)。 – OptimusCrime

+2

疯狂猜测:MySQL正在抱怨表名“student-”。 –

+0

你对这段代码有什么期望?为什么不使用注释行// $ numberRows = $ connector-> numRows($ result); –

回答

2

与反引号`包装你的所有列像

`student-`.`ClassSize_8` 

因为-是在你的列名

建议:改变你的表名从student-student

+0

当我把这样的错误,我有这样的错误: #1109 - 在字段列表中的未知表'学校' – Wolf87

+0

您是否反衬了您的表名? – diEcho

+0

你的意思是反衬所有? – Wolf87

0

你需要从列表中完成

$sql = "... fresh_en.num_appl_received FROM school,student-, degree_o,accredit ,fresh_en 
INNER JOIN ...";