我使用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;
答案 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 *
,而是仅指定所需的列,而不是多个表列。