2012-06-25 276 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 ...";