2011-07-29 27 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,不过因为一个值不应该用'''括起来,而是用单引号''' –