图像无法使用PDO显示

时间:2016-09-25 11:56:03

标签: php mysql pdo

我使用mysqli从MySQL检索blob图像,但我一直在将所有内容移到PDO上。据我所知,这应该是有效的。我搜索并搜索了论坛的答案,但我不明白为什么这不起作用。

// Connection
include 'pdo_db.php';

// Get Image Id for DB Query
$recipe = $_GET['recipe'];

// Execute Query<br>
$query = $db->prepare("SELECT * FROM myrecipes WHERE Id = ?");
$query->execute(array(
    "Id" => $recipe
));

// Display Image
$query->bindColumn(1, $image, PDO::PARAM_LOB);
$query->fetch(PDO::FETCH_BOUND);
header("Content-Type: image/jpg");
echo $image;

1 个答案:

答案 0 :(得分:-1)

我做了两个假设:1)你的id是数字整数,2)你只需要一次检索1行(每个id 1个)。

$recipe = (int)$_GET['recipe'];

$query = $db->prepare("SELECT * FROM myrecipes WHERE Id = ? LIMIT 1");
$query->execute(array($recipe));

您将execute中的数组引用为[id] =&gt; $recipe,但这不是必需的。您只需要一个自动处理的数字引用。

您不应该执行SELECT *,而是仅指定所需的列,而不是多个表列。