1

这是我的代码

$sql = "SELECT distinct s.doc_id, s.pat_id, s.approved, p.pat_fullname, p.pat_id from patient p, subscribe s WHERE s.doc_id = '$doc_id' AND s.approved = '1' AND s.pat_id = p.pat_id;";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result))
{
    $patname = $row['p.pat_fullname'];      
    echo "<label>Patient:</label>";
    echo "<option value='$patname'>$patname</option>";

}

注意:未定义索引:第 60 行 C:\Program Files (x86)\EasyPHP-5.3.9\www\PHR system\doc_patdoc.php 中的 p.pat_fullname

以上是来自浏览器的通知。sql 查询肯定是有效的,因为我已经在我的数据库中尝试过它。那么我应该输入什么行的名称而不是 p.pat_fullname?

4

2 回答 2

5

结果不包含p.前缀,因此请删除:

 $patname = $row['pat_fullname']; 
于 2012-11-20T17:16:53.940 回答
1

在查询中使用别名:

p.pat_fullname as fullname

然后像这样访问它:

$row['fullname']

您可以在没有p.表别名的情况下访问它,但如果您有多个具有相同名称的列,这是最安全的方法

于 2012-11-20T17:17:02.067 回答