查询仅返回 9 个预期值中的 7 个

Query only returning 7 of 9 expected values

我无法将 sql php/pdo 语句 return 从以下查询中获取值。查询 return 有 7 个值,但我期望有 9 个。当我进行变量转储时,我看到它忽略了 news.ID 和 stories.ID 的值。

我有名为新闻和故事的表格。我不知道我的问题是出在我的连接上,还是我在 bindparam 中对每个都使用 $ID 搞砸了(如果是这样,我应该使用什么,因为它们在各自的表中都有列名 ID ).

$results2 = $dbh->prepare("select 
wp_users.ID,
wp_users.display_name,
stories.ID,
stories.SID,
news.ID,
news.WID,
news.text,
news.approved,
news.position
FROM news
LEFT JOIN stories on news.SID = stories.SID
LEFT JOIN wp_users ON news.ID = wp_users.ID
WHERE (stories.SID = $the_SID) AND (news.approved = 'N') 
AND (news.position= $cont) order by news.WID asc limit 10");

$results2->bindParam(':wp_users.ID', $user_ID, PDO::PARAM_INT); 
$results2->bindParam(':display_name', $display_name, PDO::PARAM_STR); 
$results2->bindParam(':stories.ID', $ID, PDO::PARAM_INT); 
$results2->bindParam(':stories.SID', $the_SID, PDO::PARAM_STR);
$results2->bindParam(':news.WID', $WID, PDO::PARAM_STR);  
$results2->bindParam(':news.ID', $ID, PDO::PARAM_INT); 
$results2->bindParam(':text', $text, PDO::PARAM_STR); 
$results2->bindParam(':approved', $f = N, PDO::PARAM_STR); 
$results2->bindParam(':position', $cont, PDO::PARAM_INT); 
$results2->execute();
$row2 = $results2->fetchAll(PDO::FETCH_ASSOC);

这里是 var 转储结果:

array(7) {
 ["ID"]=>
string(1) “1″ 
> ["display_name"]=>
string(9) “admin”
 ["SID"]=>
string(2) “77″ 
> ["WID"]=>
string(3) “236″ 
> ["text"]=>
string(32) “sfkjsdjsdlfjsdkfjksdjfdsjfksfdks” 
> ["approved"]=>
string(1) “N”
 ["position"]=>
string(2) “13″ 
 }

你必须区分ID,

改成这样

$results2 = $dbh->prepare("select 
wp_users.ID AS ID1,
wp_users.display_name,
stories.ID AS ID2,
stories.SID,
news.ID AS ID3,
.....");

因为你有3个IDmysql只会显示一个