我在下面的代码示例中遇到了问题:
<?php
$db = new PDO('mysql:host=localhost;dbname=zpanel_module_autoinstaller_core', 'paneluser', 'asdasd');
$stmt = $db->prepare("select type, data from cms_pictures where id=?");
$stmt->execute(array($_GET['id']));
$stmt->bindColumn(1, $type, PDO::PARAM_STR, 256);
$stmt->bindColumn(2, $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);
header("Content-Type: $type");
fpassthru($lob);
?>
如果我运行此代码,我在Apache error.log中收到此警告:
PHP警告:fpassthru()期望参数1是资源,第10行/etc/..../test.php中给出的字符串
所以我认为我的数据库中的数据错误,但看起来并不像。如果我看看PHPMyAdmin,我得到了一个有效的图片。所以我认为,我将所有数据正确地放入数据库中。如果我点击PHPMyAdmin中的Blob,我得到了有效的图像。
有人有个主意吗?找不到我的失败。
非常感谢