2011-04-17 28 views
0

爲什麼我不能從數據庫中拉出這個字段pID爲什麼我不能拉這個領域? Php/Mysql

我有以下的PHP:

<?php 
// Get course information cID, prefix, code and dept info : name 
$cID = filter_input(INPUT_GET, 'cID', FILTER_SANITIZE_NUMBER_INT); 
if(!$cID) { 
    echo "No cID specified."; 
    exit; 
} 
require_once('inc/dbc1.php'); 
$pdo4 = new PDO('mysql:host=localhost;dbname=###', $username, $password); 
$pdo4->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$sth4 = $pdo4->prepare(' 
    SELECT fname, lname 
    FROM Course Cou, Comment Comm, Professor P 
    WHERE Cou.cID = ? 
    AND P.pID = Comm.pID 
    GROUP BY concat(fname, lname); 
    '); 
$sth4->execute(array(
    $cID 
)); 
?> 

HTML/PHP

<a href='prof.php?pID={$row['pID']}' title='Drexel Professor Comments for {$row['fname']} {$row['lname']}'> 

img

以上是拉FNAME和LNAME領域,但在第一次調用的PID沒有被拉。

  • 如果我添加PID號的select語句, 它給我的曖昧PID誤差

任何??

回答

2

您需要的字段添加到SELECT語句,否則它不會是結果集的一部分。

如果我添加PID號的select語句,它給我的曖昧PID誤差

然後使其明確:

SELECT fname, lname, P.pID 

應該工作。

+0

+1顯然你輸入的速度比我快; – 2011-04-17 17:59:03

+0

這樣的工作,所以ambigious只是基本上意味着 - 我不知道哪一列你想我拉出?哈哈 – Jshee 2011-04-17 18:00:05

+0

@user「ambiguous」意味着您的'FROM'部分有多個表中包含列名'pID'。它需要你添加你想要從中提取的表的名稱。 – 2011-04-17 18:00:51

0

添加P.pID到你的SELECT語句,因爲它是在兩個表中定義:

select P.pID 
[...]