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>";

}

注意: 未定義のインデックス: C:\Program Files (x86)\EasyPHP-5.3.9\www\PHR system\doc_patdoc.php の 60 行目の 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 に答える