2014-12-29 143 views
-1

我有下面的代码,似乎很好,但它不会回显结果。如果我将echo语句更改为只读echo $ pointrow,那么它将返回“array”。所以我按照以下的方式编写它,现在页面上什么都没有。不知道我做错了什么。点表中确实有一列称为点。PDO/PHP查询不返回数组的结果

<?php 
$pointresults = $dbh->prepare("SELECT 
wp_users.ID, 
points.points 
FROM wp_users 
LEFT JOIN points on points.ID = wp_users.ID 
WHERE (wp_users.ID = $user_ID)"); 

$pointresults->bindParam(':wp_users.ID', $user_ID, PDO::PARAM_INT); 
$pointresults->bindParam(':points.ID', $ID, PDO::PARAM_INT); 
$pointresults->execute(); 
$pointrow = $pointresults->fetchAll(PDO::FETCH_ASSOC); 
?> 

<?php echo $pointrow[0]['points'] ?> 
+0

你只是想在第一行? – Iain

+0

我目前在数据库中只有一条记录,但是,我只是想要与我们试图查找其分数的用户标识相对应的行。 – Cary5000

+0

我看到你已经发现了你的问题,但是如果你只想要一行,那么你可以使用'fetch'而不是'fetchAll'。 – Iain

回答

1

请试试这个:

<?php 
$pointresults = $dbh->prepare("SELECT 
wp_users.ID, 
points.points 
FROM wp_users 
LEFT JOIN points on points.ID = wp_users.ID 
WHERE (wp_users.ID = :user_ID)"); 

$pointresults->bindParam(':user_ID', $user_ID, PDO::PARAM_INT); 
$pointresults->execute(); 
$pointrow = $pointresults->fetchAll(); 
?> 

<?php echo $pointrow[0]['points'] ?> 
+0

试过 - 只是抛出错误:无效的参数号:参数未定义。我认为我的代码是正确的,除了回声代码? – Cary5000

+0

这很奇怪。我经常使用PDO。你能否在lwslast之后加上另外2条指令 - 只要确定:'echo'
; var_dump($ user_ID);' –

+0

我只是想通了。傻......在这些专栏中没有任何价值。 – Cary5000