0

$sql = "SELECT sid FROM staff WHERE position > 0 ORDER BY name ASC";
  $result = mysql_query($sql) or die(mysql_error());
  while($row = mysql_fetch_array($result)):
    $staff->getInfo($row['sid']);
    echo "<a href='index.php?page=staff&sid=".$staff->sid."'>";
    echo $staff->name;
    echo "</a>, ";
    echo $staff->printPosition();
    echo "<br />";
  endwhile; 

我可以显示员工姓名和职位,但是当我尝试获取 URL 的 sid 时 - 它不起作用。它只是结束为:

index.php?page=staff&sid=

有什么办法可以解决这个问题?

编辑:



function getInfo($sid)
    {
        $sql = "SELECT * FROM staff WHERE sID = '$sid'";
        $result = mysql_query($sql) or die(mysql_error());
        $row = mysql_fetch_array($result);
        $this->sid = $row['sid'];
        $this->branch = $row['branch'];     
        $this->name = $row['name'];
        $this->position = $row['position']; 
        $this->startDate = $row['startDate'];
        $this->div = $row['div'];
        $this->tag = $row['tag'];
    }


4

1 回答 1

0

基本调试要求您应该在分配给“行”的点将 var_dump 放入 getInfo 函数中。如果 vardump 显示 row[sid] 为空,则您的查询有问题。我的猜测是列名是 sID,当您查询 1 时,您在技术上将该列别名为所有小写 sid。但是当您选择 * 时,mysql_fetch 会将包括大小写在内的实际列名分配给变量。因此,请检查数据库中列的大小写,并确保您的数组键与大小写匹配。

于 2012-12-25T03:55:24.160 回答