MYSQL fetch数组无法捕获php中的行名称

MYSQL fetch数组无法捕获php中的行名称,php,mysql,html-select,Php,Mysql,Html Select,这是我的密码 $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_arra

这是我的密码

$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\u patdoc.php中未定义的索引:p.pat\u fullname


以上是来自浏览器的通知。sql查询确实有效,因为我已经在数据库中尝试过了。那么,我应该将p.pat_fullname替换为哪一行的名称?

结果不包含p。前缀,以便删除:

 $patname = $row['pat_fullname']; 

结果不包含p。前缀,以便删除:

 $patname = $row['pat_fullname']; 

在查询中使用别名:

p.pat_fullname as fullname
然后像这样访问它:

$row['fullname']

您可以在不使用p的情况下访问它。表别名但如果有多个同名列,这是最安全的方法

在查询中使用别名:

p.pat_fullname as fullname
然后像这样访问它:

$row['fullname']

您可以在不使用p的情况下访问它。表别名但如果有多个同名列,这是最安全的方法

+1这是正确的答案-但是如果有同名列呢?我知道在OPs案例中没有,这就是为什么我投了赞成票。如果他们是同一个名字,你需要给他们起别名,这样他们就有了唯一的名字。@TheodoreR.Smith你的意思和我的答案一样-+1这是一个正确的答案-但是如果有同名的列怎么办?我知道在OPs案例中没有,这就是为什么我投了赞成票。如果他们是同一个名字,你需要给他们起别名,这样他们就有了唯一的名字。@TheodoreR.Smith你的意思和我的答案一样-谢谢,这是我想要的答案。谢谢,这是我想要的答案。