2011-04-17 80 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 
[...]