为什么此PDO获取代码没有给我我想要的东西

时间:2019-04-29 15:50:00

标签: php pdo

我有以下代码可从数据库中以pdo方式获取数据:

<?php 
$stmt = $pdo->query('SELECT `email` FROM hptenant WHERE user_id=:user_id');
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
    echo $row['email'] . "\n";
} ?>

但是,无论何时我使用它,它都会使我的页面空白,在显示此代码(HTML)之后没什么。 但是,如果我使用这个

<?php $stmt = $pdo->query('SELECT `email` FROM hptenant');
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
    echo $row['email'] . "\n";
} ?> 

它将向我显示数据库中的电子邮件。有人可以帮我吗?

1 个答案:

答案 0 :(得分:2)

好像您没有将任何东西绑定到:user_id

$stmt = $pdo->prepare('SELECT `email` FROM hptenant WHERE user_id=:user_id');
$stmt->bindParam(':user_id', $USER_ID_HERE);
$stmt->execute();
// while loop was unnecessary here (assuming user_id is unique)
$row = $stmt->fetch(PDO::FETCH_ASSOC);
echo $row['email'] . "\n";