2011-07-29 31 views
0

當我運行第二個查詢來選擇部門時,它將返回我的部門列表,如20條記錄,然後將數以千計的空白輸入返回頁面,在瀏覽器中凍結我做了什麼錯誤?MySQL查詢返回成千上萬的空結果

 mysql_select_db("ita", $con); 

     $results = mysql_query("SELECT * FROM `Colleges`"); 

     $colleges = array(); 

     while($row = mysql_fetch_assoc($results)) 
      { 
       $colleges[] = array("Name" => $row['Name'], "Value" => $row['Value'], "ID" => $row['CollegeID']); 
      } 

     $collegecount = count($colleges); 

     $depts = array(); 

     $result1 = mysql_query("SELECT * FROM `Departments` WHERE uid = `$uid`"); 
     while($row = mysql_fetch_assoc($result1)) 
     { 
      $depts = array("Name" => $row['Name'], "Value" => $row['Value'], "ID" => $row['CollegeID']); 
     } 

     $result = mysql_query("SELECT * FROM `users` WHERE wmuid = '$uid'"); 
     while($row = mysql_fetch_assoc($result)){ 

     //POPULATE FORM FIELDS FROM DB 
+0

看起來不像你向我們展示問題代碼。沒有什麼東西看起來寫任何東西到頁面上。 – Marvo

+0

用戶有多少條目? – Randy

回答

2

你有你的$uid各地反引號。我不確定究竟會做什麼,因爲我懷疑你有一個與$uid中的發起人同名的專欄,但它可能會導致一些奇怪的未定義行爲。更改`'像:

SELECT * FROM `Departments` WHERE `uid` = '$uid' 

編輯

或者列uid存儲數值類型完全刪除引號,如:

SELECT * FROM `Departments` WHERE `uid` = $uid 
+0

執行SQL查詢時,數據類型並不重要。如果列是數字,則比較的值將嘗試轉換爲相同類型的列。所以'uid = {$ uid}'或'uid ='{$ uid}''幾乎等同於 –

+0

+1,不過因爲一個值不應該用'''括起來,而是用單引號''' –